java中的Arrays.sort()中的void错误

时间:2013-11-29 13:27:25

标签: java arrays string

String text1 = "check";

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

输出:

error: incompatible types

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

为什么不能那样工作?

4 个答案:

答案 0 :(得分:10)

Arrays.sort()方法的返回类型为void,这意味着它不返回对象/原语,因此您无法将缺少的返回值分配给char[]。数组将通过传递给方法的引用(数组是对象)进行排序。

BTW,同样适用于Collections.sort()

请参阅documentation

<强> FIX

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

答案 1 :(得分:3)

Arrays.sort();返回void您无法将其分配给字符数组,即char[]

答案 2 :(得分:3)

请注意,Arrays.sort不会返回类型。

源代码如下:

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

如果要对char数组进行排序 您可以使用以下方式:

    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));

答案 3 :(得分:2)

Arrays.sort()返回void而不是char []