2015-06-01 2 views
0

Я пытался скопировать массив в Java и использовал метод copyOf. Вот мой код и странное возвращаемое значение. Я ожидал {10,50,40}, но он возвращает [I @ 35960f05. Что именно это? Спасибо! enter image description hereWeird возвращаемое значение метода copyOf в Java

+0

Если вы уже знаете класса Массивы, вы должны знать о Arrays.toString – Eran

+0

не то же самое происходит, когда вы 'Println (arr1)'? :) –

ответ

1

int arr2 [] - это массив целых чисел. Вы должны повторить.

0

Вместо повторения элементов массива вы можете распечатать копию массива. Таким образом, он вернет toString(), и он может печатать соответственно.

1

Проблема не в методе copyOf, вы должны повторить свой массив int (arr2) во время печати.


Или вы можете использовать метод Arrays.toString(int[] a).

System.out.println(Arrays.toString(arr2)); 
0

Это вывод по умолчанию метода Array.toString(), который автоматически вызывается Sytem.out.println (OBJ). Это начинается с «[», указывающего, что это массив, а затем тип «I» для целого. Существуют также другие типы «B» для байтов, S для строки и т. Д. Затем это указывается во внутреннем адресе вашего массива.

В классе Arrays есть метод удобства, который также называется toString, который выполняет итерацию по массиву и выводит на экран элементы.

System.out.println(Arrays.toString(arr2)); 

Это также можно сделать в явном цикле.

System.out.print("{"); 
for (int val : arr2) 
{ 
    System.out.print("" + val + ","); 
} 
System.out.print("}"); 
Смежные вопросы