数组表现奇怪

时间:2015-01-18 14:11:21

标签: java arrays object

可能是一些面向对象的明智的我在这里不理解。

我有一个名为old_cube的3d数组。我想应用修改此数组来获取new_cube

old_cube

[[[w, w], [w, w]],
[[o, o], [o, o]],
[[g, g], [g, g]],
[[r, r], [r, r]],
[[b, b], [b, b]],
[[y, y], [y, y]]]

代码:

char[][][] old_cube = state.cube;
char[][][] new_cube = old_cube.clone();

new_cube[0][0][0] = old_cube[0][1][0];
new_cube[0][0][1] = old_cube[0][0][0];
new_cube[0][1][0] = old_cube[0][1][1];
new_cube[0][1][1] = old_cube[0][0][1];

new_cube[1][0][0] = old_cube[2][0][0];
new_cube[1][0][1] = old_cube[2][0][1];

new_cube[2][0][0] = old_cube[3][0][0];
new_cube[2][0][1] = old_cube[3][0][1];

new_cube[3][0][0] = old_cube[4][0][0];
new_cube[3][0][1] = old_cube[4][0][1];

new_cube[4][0][0] = old_cube[1][0][0];
new_cube[4][0][1] = old_cube[1][0][1];

输出:

new_cube

[[[w, w], [w, w]],
[[g, g], [o, o]],
[[r, r], [g, g]],
[[b, b], [r, r]],
[[g, g], [b, b]],
[[y, y], [y, y]]]

预期:

new_cube

[[[w, w], [w, w]],
[[g, g], [o, o]],
[[r, r], [g, g]],
[[b, b], [r, r]],
[[o, o], [b, b]],
[[y, y], [y, y]]]

问题是我认为clone()会解决的问题,但我一定做错了。

0 个答案:

没有答案