【发布时间】:2014-04-19 03:12:49
【问题描述】:
我在理解 Java 中的 clone 方法时遇到了问题。
在本例中,输出为 1。
int[][]x = {{1,2},{3,4}};
int[][]y = new int[2][];
y[0] = x[0].clone();
y[1] = x[1].clone();
x[0][0] = 0;
System.out.println(y[0][0]);
在本例中,输出为 100 8
int[][][] x = {{{1,2},{3,4}},{{5,6},{7,8}}};
int[][][] y = new int[2][2][];
y[0] = x[0].clone();
y[1][1] = x[1][1].clone();
x[0][0][0] = 100;
x[1][1][1] = 200;
System.out.println(y[0][0][0]+" "+y[1][1][1]);
为什么第二个例子中 y 数组的值发生了变化,而第一个例子没有变化?
【问题讨论】:
-
我得到 100 8,我希望它是 1 8。