我想反转一个字符数组,为什么在使用 Arrays.sort(arr, Collections.reverseOrder()) 时会失败?
I would like to reverse a char array, why it fails when using Arrays.sort(arr, Collections.reverseOrder())?
如果我反转一个字符串数组,它在使用时工作正常
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());
}
Collections.reverseOrder() 不适用于 java 中的原始类型,例如 char 类型。
您需要对其进行排序,然后使用 for 循环反转或将字符放入字符串等。
你有一个基元数组。 char
是原语。 Collections.sort()
适用于对象集合。
要解决问题,请这样做...
Character[] arr = new Character[]{'a','b','c'};
Arrays.sort(arr, Collections.reverseOrder());
不要使用原始类型,而是使用它的包装类型,它是一个对象。然后,一切正常。
如果我反转一个字符串数组,它在使用时工作正常
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());
}
Collections.reverseOrder() 不适用于 java 中的原始类型,例如 char 类型。
您需要对其进行排序,然后使用 for 循环反转或将字符放入字符串等。
你有一个基元数组。 char
是原语。 Collections.sort()
适用于对象集合。
要解决问题,请这样做...
Character[] arr = new Character[]{'a','b','c'};
Arrays.sort(arr, Collections.reverseOrder());
不要使用原始类型,而是使用它的包装类型,它是一个对象。然后,一切正常。