我试图用Java复制数组,我使用了copyOf方法。这是我的代码和奇怪的返回值。我期待{10,50,40},但它返回[I @ 35960f05。究竟是什么? 谢谢!
答案 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("}");