【发布时间】:2013-07-06 05:33:12
【问题描述】:
我想将给定数组的精确副本复制到其他数组,但是即使我更改了新数组中任何值的值,它也不会更改原始数组中的值。 我尝试了以下代码,但在第三行之后,数组都发生了变化并获得了相同的值。
int [][]a = new int[][]{{1,2},{3,4},{5,6}};
int[][] b = a;
b[1][0] = 7;
我也尝试了而不是第二行
int[][] b = (int[][])a.clone();
int [][] b = new int [3][2];
System.arraycopy(a,0,b,0,a.length);
int [][] b = Arrays.copyOf(a,a.length);
这些都没有帮助。请给我一个合适的方法。我已经在 eclipse 剪贴簿中测试了这段代码。
【问题讨论】:
-
@Kon 你看过他的代码吗? :)
-
我的错,读得太快了。只需使用循环。
标签: java arrays parameter-passing variable-assignment pass-by-reference