【问题标题】:java add object into list, is new object created?java将对象添加到列表中,是否创建了新对象?
【发布时间】:2021-05-19 17:13:35
【问题描述】:

假设我们有一个对象,我们将它添加到一个 ArrayList 中。 java是创建一个新对象并将其添加到列表中,还是使用我们传入的相同对象并将其放入arraylist?

【问题讨论】:

标签: java arrays list


【解决方案1】:

它使用现有对象,实际上它使用它的引用,引用放在列表中。如果您在列表之外的另一个变量中保留引用,您可以对其进行编辑,并且列表内部的值也会发生变化。

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);
}

这段代码会让你对此有所了解,因为这是输出

foo baz
[foo baz, bar]

【讨论】:

    猜你喜欢
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    • 2017-01-12
    • 2017-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多