Java中copyOf方法的奇怪返回值

时间:2015-06-01 11:58:13

标签: java arrays

我试图用Java复制数组,我使用了copyOf方法。这是我的代码和奇怪的返回值。我期待{10,50,40},但它返回[I @ 35960f05。究竟是什么? 谢谢!enter image description here

4 个答案:

答案 0 :(得分:1)

int arr2 []是一个整数数组。你必须迭代。

答案 1 :(得分:1)

问题不在于copyOf方法,你必须在打印时迭代你的int数组(arr2)。

或者您可以使用Arrays.toString(int[] a)方法。

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

答案 2 :(得分:0)

您可以打印数组副本,而不是迭代Array元素。因此它将返回toString()并且可以相应地打印。

答案 3 :(得分:0)

这是Array.toString()方法的默认输出,由Sytem.out.println(obj)自动调用。这个开始于' ['表示它是一个数组,后跟类型'我'对于整数。还有其他类型的' B'用于字节,S用于字符串等。然后是你的数组的内部地址。

Arrays Class中有一个方便的方法,它也称为toString,它遍历数组并打印出元素。

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

这也可以在显式的for循环中完成。

System.out.print("{");
for ( int val : arr2 )
{
   System.out.print("" + val + ",");
}
System.out.print("}");