2013-11-29 3 views
0
String text1 = "check"; 

char c[] = Arrays.sort(text1.toCharArray()); 

Выход:аннулируются ошибка в Arrays.sort() в Java

error: incompatible types 

    char c[] = Arrays.sort(text1.toCharArray()); 
    required: char[] 
    found: void 
    1 error 

Почему это не работает таким образом?

+2

'sort' является деструктивной недействительным метод. –

+0

Если вам нужна помощь, по крайней мере, вы можете сделать несколько секунд и написать обычный вопрос. – Blub

ответ

2

Arrays.sort() возвращает недействительным не обугливается []

9

Метод Arrays.sort() имеет тип возврата недействительным, это означает, что он не возвращает объект/примитив, так что вы не можете назначить отсутствующего возвращаемое значение до char[]. Массив будет отсортирован по ссылке на него (массивы - объекты), переданные методу.

Кстати, то же самое относится и к Collections.sort()

ВИДЕТЬ documentation

FIX

String text1 = "check"; 
char c[] = text.toCharArray(); 
Arrays.sort(c); 
3

Arrays.sort(); возвращает void вы не можете назначить его на массив символов т.е. char[]

3

Примечание что Arrays.sort не возвращается тип.

Исходный код выглядит следующим образом:

public static void sort(char[] a) { 
    DualPivotQuicksort.sort(a); 
} 

Если вы хотите, чтобы отсортировать массив символов можно использовать следующим образом:

String text1 = "hello"; 
    char c[] = text1.toCharArray(); 

    //Sort char array 
    Arrays.sort(c); 

    //Print [e,h,l,l,o] 
    System.out.println(Arrays.toString(c)); 
Смежные вопросы