Имеется следующий код:
int[] arr1 = {10, 20, 30, 40};
System.out.println(Arrays.deepToString(arr1));
Здесь компилятор выдаёт ошибку:
incompatible types: int[] cannot be converted to java.lang.Object[]
При этом следующий код компилируется без ошибок:
int[][] arr2 = {{10, 20}, {30, 40}};
System.out.println(Arrays.deepToString(arr1));
Почему int[]
не может конвертироваться в Object
? Разве массивы примитивов не являются объектами? И почему при этом двумерный массив примитивов int[][]
в Object
прекрасно конвертируется?
Всё правильно говорит.
int[]
- Object
, а int[][]
это массив Object
ов (Object[]
, где каждый элемент - int[]
), то есть массив массивов, где внутренний массив является объектом. int[]
- массив примитивов, который не умеет автобокситься в Integer[]
(вы ведь на это намекаете в вопросе?).
Запутанно, но, надеюсь, понятно.
Для примитивных одномерных массивов есть Arrays.toString(...)
В Firefox с помощью инструмента "Исследовать элемент" в интересующем куске кода есть ссылки, которые хочу брать используя методы библиотеки...
Мне в крон-методе необходимо получить рутовый путьРанее, в контроллерах, я использовать UriComponentBuilder, но в кроны лежат в сервисах и никакой...
Есть 3 полякогда заполняется поле №1 фокус перескакивает на поле №2