0
我从一个全球性的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;
}
的ArrayList中,但该功能只返回在最后一个元素列表。我如何使函数返回所有值?例如,如果全局列表中有3个对象,我的函数应该返回所有3个值。
此外,我不希望我的函数的返回类型是一个ArrayList<Objects>
即我不想返回对象的ArrayList
这可能吗?如果是的话我错过了什么?
你想返回所有3个值,但你不想返回'ArrayList'?如果你返回'Objects',它只会是一个元素。那么,你想要返回哪些**呢? –
ajb
一种方法只能返回一件事。你不想返回列表的原因是什么?顺便说一句,你在做一个浅拷贝。深层复制创建新对象。 – Radiodef
您只需返回最后一个,因为您遍历整个列表并始终将当前项存储在'copied'中。 –