String Array中的indexOf错误

ant*_*584 4 java arrays sorting string

我想用第二个char对String数组进行排序,但位置"1"的char索引始终为-1,因此sort不起作用.怎么了?

String[] wordList = outString.toString().split(", ");

for (int i = 0; i < wordList.length; i++) {
    int n =wordList[i].indexOf(wordList.toString().charAt(1));
}

Arrays.sort(wordList, 1,0);

for (String str : wordList) {
    System.out.println(str);
}
Run Code Online (Sandbox Code Playgroud)

Dee*_*ala 9

wordList.toString().charAt(1)给你toString()一个a 的表示String[],这可能不是你想要的.

String [] test = new String [] {"a","b","c"};
System.out.println(test.toString());
Run Code Online (Sandbox Code Playgroud)

产量

[Ljava.lang.String;@23fc4bec
Run Code Online (Sandbox Code Playgroud)

如果您使用自定义Comparator并允许Collections.sort()对wordList进行排序(在将其放入List第一个之后),您应该更容易找到第二个索引的排序.

另请注意,您的拆分包含空格,这可能会导致更多混乱split(", ");.