Java ArrayList复制

ArrayList l1的尺寸为10。我将其分配l1给新列表引用类型l2。威尔l1l2指向同一个ArrayList对象吗?还是ArrayList分配给对象的副本l2?

使用l2引用时,如果我更新列表对象,它也会反映l1引用类型中的更改。

例如:

List<Integer> l1 = new ArrayList<Integer>();

for (int i = 1; i <= 10; i++) {

l1.add(i);

}

List l2 = l1;

l2.clear();

除了创建2个列表对象并在集合上进行从旧到新的复制之外,没有其他方法可以将列表对象的副本分配给新的引用变量吗?

回答:

是的,分配将刚刚复制值的l1(这是引用)l2。它们都将引用相同的对象。

但是,创建浅表副本非常简单:

List<Integer> newList = new ArrayList<>(oldList);

(仅举一个例子。)

以上是 Java ArrayList复制 的全部内容, 来源链接: utcz.com/qa/427555.html

回到顶部