list.clone优先于新的ArrayList(originalList)

时间:2016-11-28 09:59:13

标签: java collections

这是创建克隆的标准(首选)方式

list.clone()

new ArrayList(originalList) ??

1 个答案:

答案 0 :(得分:2)

使用new ArrayList(originalList)代替list.clone(),因为对于列表,您必须迭代所有列表对象并单独克隆。

这对于Strings工作正常,但值得注意的是ArrayList.clone将执行浅拷贝,因此如果列表中有可变对象,则不会克隆它们并且更改一个列表中的一个会改变该一个在另一个清单中。