在我更改它之前制作副本2D数组

时间:2013-02-25 21:14:17

标签: java multidimensional-array

我制作了一个2D数组,这是一个游戏地图。当玩家在地图上移动时,数组会略有变化,但我希望能够返回原始的,未更改的数组。我怎样才能做到这一点?

非常感谢。

2 个答案:

答案 0 :(得分:0)

如果arr是2d String数组:

String[][] copy = arr.clone();

然后,只需对copy进行更改。

如果它是一个对象数组,您可能需要进行深层复制,即制作所有包含对象的副本。但在你的情况下,由于String是不可变的,clone就足够了。但是,考虑将数据存储在类而不是字符串中。

答案 1 :(得分:0)

如果您不需要每个元素的副本,只需要数组,请使用

array.clone()

如果您确实需要复制每个元素,可以看到this answer