我使用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
答案 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.*;