小编Eze*_*rto的帖子

如何通过引用将元素从ArrayList复制到另一个?

我正在尝试将每个元素从一个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));
    }
}
Run Code Online (Sandbox Code Playgroud)

Articulo_Venta有以下几个字段:

int codigo;
String nombre;
float cantidad;
Run Code Online (Sandbox Code Playgroud)

PS:我也试过了下一个:

copia = new ArrayList<Articulo_Venta>(av);
Run Code Online (Sandbox Code Playgroud)

但它的元素仍然指向原始的ArrayList.

java constructor arraylist pass-by-value

2
推荐指数
1
解决办法
4628
查看次数

标签 统计

arraylist ×1

constructor ×1

java ×1

pass-by-value ×1