找不到符号Java错误?

时间:2013-05-24 19:24:26

标签: java arrays sorting symbols

我使用java.util.Arrays.sort(numbers);时代码有效 难道我做错了什么?这对我来说似乎很奇怪。

import java.util.Arrays.*;

class Test {
   public static void main(String[] args) {
    double[] numbers = {6.0, 4.4, 1.9, 2.9, 3.4, 3.5};
    char[] chars = {'a', 'A', '4', 'F', 'D', 'P'};

    sort(numbers);

    System.out.println(binarySearch(numbers, 3));

   }
}

(终端显示错误)

Test.java:8: error: cannot find symbol
    sort(numbers);
    ^
symbol:   method sort(double[])
location: class Test
 Test.java:10: error: cannot find symbol
    System.out.println(binarySearch(numbers, 3));
                       ^
 symbol:   method binarySearch(double[],int)
 location: class Test
  2 errors

3 个答案:

答案 0 :(得分:16)

这是类 Arrays 的静态方法。

您应该像这样调用它:

Arrays.sort(someArray);

请注意,您仍然必须像这样导入Arrays类:

import java.util.Arrays;

或者正如其他人所提到的,如果你进行静态导入,你可以省略类名。

我认为Arrays.sort()更易于阅读。

答案 1 :(得分:5)

您需要进行静态导入。使用以下

import static java.util.Arrays.*;

<强>原因

如果要导入一些静态成员(方法或变量),则需要静态导入成员。所以你必须使用import static

另一种解决方案

或者您可以导入

import java.util.Arrays;

并使用

Arrays.sort(b);

第二个解决方案的原因

这里你没有导入任何静态元素,所以需要正常导入到数组。然后,您可以使用Arrays.sort

直接访问

答案 2 :(得分:2)

您正在尝试进行静态导入,但错过了static

//   add v this
import static java.util.Arrays.*;