我試圖從一個ArrayList(AV)到另一個(copia)複製每個元素。問題在於它們是通過引用複製的,所以無論何時對原始文件進行更改,副本都會被修改。當然,這種行爲是不希望的。我應該如何寫這個方法?如何將元素從ArrayList複製到另一個不是通過引用?
public void copiarArrayList(ArrayList<Articulo_Venta> copia, ArrayList<Articulo_Venta> av){
copia.clear();
for (int i = 0; i < av.size(); i++) {
copia.add(av.get(i));
}
}
Articulo_Venta有以下字段:
int codigo;
String nombre;
float cantidad;
PS:我也試了下:
copia = new ArrayList<Articulo_Venta>(av);
,但它仍然有它的指向原來的ArrayList元素。
就是這樣!這樣做很麻煩,但解決方案是將對象的每個字段單獨複製到一個新對象中,並將其添加到新的ArrayList中。謝謝你,新年快樂! –