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'中。 –