如果我反转一个字符串数组,它在使用Arrays.sort(arr, Collections.reverseOrder())时工作得很好,但是为什么它不能在char上工作呢?
public static void main(String[] args) {
String[] temp = new String[] {"ab","aa","ac"};
Arrays.sort(temp, Collections.reverseOrder());
char[] arr = new char[]{'a','b','c'};
Arrays.sort(arr, Collections.reverseOrder());
}发布于 2021-11-12 08:52:24
您有一组原语。char是一个原语。Collections.sort()工作在对象集合上。
要解决这个问题就像这样..。
Character[] arr = new Character[]{'a','b','c'};
Arrays.sort(arr, Collections.reverseOrder());不要使用基本类型,而是使用它的包装器类型,它是一个对象。那么,一切都会正常的。
发布于 2021-11-11 21:23:38
Collections.reverseOrder()不适用于java中的基元类型,例如char类型。
您需要对其进行排序,然后反向使用for循环或将字符放入字符串等。
https://stackoverflow.com/questions/69934751
复制相似问题