java - 如何将一个ArrayList的内容复制到另一个?
我有一些数据结构,我想使用一个作为临时,另一个不是临时的。
ArrayList myObject = new ArrayList();
ArrayList myTempObject = new ArrayList();
//fill myTempObject here
....
//make myObject contain the same values as myTempObject
myObject = myTempObject;
//free up memory by clearing myTempObject
myTempObject.clear();
现在这个问题当然是myTempObject真的只是指向myObject,所以一旦myTempObject被清除,那么是myObject。
如何使用java保留myTempObject中的值myObject?
10个解决方案
117 votes
你可以使用这样的技巧:
myObject = new ArrayList(myTempObject);
或使用
myObject = (ArrayList)myTempObject.clone();
您可以在此处获取有关clone()方法的一些信息
但你应该记住,所有这些方法都会给你一份你的List,而不是它的所有元素。 因此,如果您更改复制的列表中的某个元素,它也将在原始列表中更改。
Artem answered 2019-06-13T06:12:17Z
35 votes<