我想用这个方法对一个字符串数组进行排序:
private String[] sortAscending(String[] arrayToSort) {
List<String> sortedList = Arrays.asList(arrayToSort);
Collections.sort(sortedList);
return (String[]) sortedList.toArray();
}
Run Code Online (Sandbox Code Playgroud)
这将对此数组进行排序
["Jens", "abCd", "test", "abC", "Peter"]
Run Code Online (Sandbox Code Playgroud)
对此:
["Jens", "Peter", "abC", "abCd", "test"]
Run Code Online (Sandbox Code Playgroud)
但它应该是
["abC", "abCd", "Jens", "Peter", "test"]`
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
Java中字符串的自然顺序是词典,它区分大小写.大写字母将出现在小写字母之前.
因此,您需要排序不区分大小写的顺序:
Collections.sort(sortedList, String.CASE_INSENSITIVE_ORDER);
Run Code Online (Sandbox Code Playgroud)