[英]java add object into list, is new object created?
假设我们有一个 object,我们将它添加到 ArrayList 中。 java 是新建一个 object 并添加到列表中,还是使用我们传入的相同 object 并放入 object?
它使用现有的 object,实际上它使用它的参考,参考放在列表中。 如果您在列表之外的另一个变量中保留引用,您可以对其进行编辑,并且列表内部的值也会发生变化。
public static void main(String[] args) {
List<StringBuilder> list = new ArrayList<>();
StringBuilder str1 = new StringBuilder("foo");
StringBuilder str2 = new StringBuilder("bar");
list.add(str1);
list.add(str2);
str1.append(" baz");
System.out.println(str1);
System.out.println(list);
}
这个代码块会让你知道这一点,因为这是 output
foo baz
[foo baz, bar]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.