Java - 列表中的对象是按值还是引用保存的?

时间:2012-01-16 03:02:16

标签: java list reference

简单的问题,Java中的列表是否按值或引用保存对象?如果我将一个对象放在一个列表中,然后更改其中一个值,那么列表中的那个值是否具有更新的值?

5 个答案:

答案 0 :(得分:8)

  

Java中的列表是按值还是引用保存对象的?

List 是一个包含对象引用的有序集合。

  

如果我将一个对象放在一个列表中,然后更改其中一个值,那么列表中的那个值是否具有更新的值?

您只能更改/更新可变对象。您无法通过其引用更新 immutable (例如List<String>)个对象。

答案 1 :(得分:2)

是的,它们是通过引用存储的。如果要检索该值,请通过实现Cloneable接口克隆该对象并实现自己的克隆方法。

答案 2 :(得分:1)

所有对象都是java中的引用帮助。列表以参考方式持有。其中的对象通过引用保存。因此,如果稍后更改值,它将显示更新的值。

答案 3 :(得分:0)

显然,通过引用,与任何Java对象的自定义一样,除非您有意克隆该对象,并将副本放在列表中。

答案 4 :(得分:0)

用户定义的数据类型总是通过引用传递,如果在您的代码中您定义了一个列表,其中包含一些类的变量,它们通过引用存储