Не можете найти символ ошибки Java?
Код работает, когда я использовал 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 ответа
Это статический метод класса Arrays.
Вы должны вызвать это так:
Arrays.sort(someArray);
Обратите внимание, что вы все равно должны импортировать класс Arrays следующим образом:
import java.util.Arrays;
Или, как уже упоминали другие, если вы делаете статический импорт, вы можете опустить имя класса.
Я бы сказал, что 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.*;