Java ArrayList复制
我ArrayList l1
的尺寸为10。我将其分配l1给新列表引用类型l2
。威尔l1
和l2
指向同一个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