たとえば、文字列の配列がある場合(String[] myS = new String[] {"1234", "abcd", "234", "bcd", "34", "cd"}
)、これを処理しますか?私は文字列のソートをアルファベット順に並べ替えると仮定しましたが、もしそうなら、数字の入った文字列を見たらそれは壊れますか?Arrays.sort on strings
ここで(2つの文字列配列に取って、1と2のサブストリングの比較を行っている)私の機能
public static String[] inArray(String[] array1, String[] array2) {
if(array1.length == 0 || array2.length == 0) return new String[]{};
int size=0, index = 0;
Boolean flag = false;
for(int i=0; i<array1.length; i++){
flag = false;
for(int j=0; j<array2.length; j++){
if(array2[j].contains(array1[i])){
flag = true;
break;
}
}
if(flag == false) array1[i] = "";
else size++;
}
if(size == 0) return new String[] {}; //No matches found
String[] sortedArr = new String[size];
for(int i = 0; i<size; i++){
if(array1[i] != ""){
sortedArr[index] = array1[i];
index++;
}
}
Arrays.sort(sortedArr); //Occasionally throws null pointer exception
return sortedArr;
}
試しましたか? –
辞書順にソートされるので、数字は文字の前に並べられます。 – khelwood
はい。私はNULLポインタの例外を取得しますが、これが数値型のためにソートを壊しているかどうかはわかりません。 – Noobgineer