如何在克隆ArrayList
的同时用Java克隆其项目?
例如,我有:
ArrayList<Dog> dogs = getDogs();
ArrayList<Dog> clonedList = ....something to do with dogs....
我认为clonedList
个物体中的物体和狗列表中的不一样.
如何在克隆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()
方法.