对象的arraylist上的java深度复制
我试图从全局arraylist中深度复制对象列表,并在返回函数中返回所有对象,如下所示
ArrayList<Objects> list = new ArrayList<Objects>();
public Objects copy() {
Objects copied = new Objects();
ArrayList<Objects > newList = new ArrayList<Objects>();
for(Objects objs : list){
newList.add(objs);
}
for(int i=0; i<newList.size(); i++ ){
copied = newList.get(i);
}
return copied;
}
但是这个函数只返回列表中的最后一个元素。如何使函数返回所有值?例如,如果全局列表中有3个对象,我的函数应该返回所有3个值
此外,我不希望我的函数返回类型是ArrayList<Objects>
,即我不希望返回对象的数组列表
这可能吗?如果是这样,我错过了什么
# 1 楼答案
为什么不直接使用Apache Commons Lang SerializationUtilsclone()