【发布时间】:2017-05-14 11:38:30
【问题描述】:
我正在尝试将每个元素从一个 ArrayList (av) 复制到另一个 (copia)。问题是它们是通过引用复制的,所以每当我对原始文件进行任何更改时,副本也会被修改。当然,这种行为是不想要的。这个方法应该怎么写?
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。
【问题讨论】:
标签: java arraylist constructor pass-by-value