找不到符号Java错误?

当我使用java.util.Arrays.sort(numbers);时代码有效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 

它是类Arrays的静态方法。

你应该像这样调用它:

 Arrays.sort(someArray); 

请注意,您仍然需要像这样导入Arrays类:

 import java.util.Arrays; 

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

我认为Arrays.sort()Arrays.sort()阅读。

你需要做一个静态导入。 使用以下内容

import static java.util.Arrays.*;

原因

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

另一解决方案

或者你可以导入

 import java.util.Arrays; 

并使用

 Arrays.sort(b); 

第二种解决方案的原因

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

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

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