将Java中的addAll函数复制一份

时间:2011-10-28 03:39:01

标签: java list copy

调用list.addAll(list2)时,列表中的对象是否会被复制到列表中?或者只是复制他们的引用...没有找到关于javadoc的任何解释......

3 个答案:

答案 0 :(得分:36)

没有制作对象或其数据的副本;他们的引用只是添加到列表对象中。

答案 1 :(得分:4)

不,不会复制对象;对相同对象的引用将被添加到列表中。

答案 2 :(得分:3)

通常,当您“添加全部”时,java不会复制对象,也就是说,对于对象,使用指向原始的指针。

* 但要小心!对于字符串,由于不可变性,数组副本不会指向原始字符串值,并且您不能指望将指针更改为添加到数组列表中的字符串将导致数组列表中的新值。