找不到符号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.*;