如何克隆ArrayList
并在Java中也克隆其项目?
例如,我有:
ArrayList<Dog> dogs = getDogs();
ArrayList<Dog> clonedList = ....something to do with dogs....
我希望
clonedList
中的对象与狗列表中的对象不同。 最佳答案
您将需要迭代这些项目,然后逐个克隆它们,然后将克隆放入结果数组中。
public static List<Dog> cloneList(List<Dog> list) {
List<Dog> clone = new ArrayList<Dog>(list.size());
for (Dog item : list) clone.add(item.clone());
return clone;
}
显然,要使它起作用,您将必须获取
Dog
类以实现Cloneable
接口并重写clone()
方法。