java - 我可以使用另一个 ArrayList 中的引用来更改一个 ArrayList 中的对象吗?

标签 java arraylist reference

第一个数组列表:- ArrayList<Object> list1;
第二个数组列表:- ArrayList<Object> list2;

假设我填了list1与一些物体。 现在我从 list1 复制一些对象使用list2.add(list1[i])并更改 list2 中的对象使用list2[j].setA = something .

list1中对象对应的值A是否会改变? 实际上我想要值 A待更改。

最佳答案

它会改变。列表仅包含对对象*的引用。因此,将 list1 中的一些元素添加到 list2 后,两个列表将共享对相同物理对象的引用。

*在 Java 集合中,您无法存储原始类型,例如 int,只能存储它们的对象对应项(在本例中为 Integer),且始终通过引用存储。

关于java - 我可以使用另一个 ArrayList 中的引用来更改一个 ArrayList 中的对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7062899/

相关文章:

c++ - 检查流引用是否为 NULL 不再编译

java - 如何编码这个特定的方法?

java - 如何使用 Jackson JSON 将值存储到 Java

java - 在方法中初始化Arraylist

java - ArrayList#size() 的奇怪返回

c# - 由 C# 参数通过引用而不是值传递引起的动画问题,但是在哪里?

java - Java 中的字符串

java - 测试 Spring MVC Controller 的 @MessageMapping WebSocket 方法

java - 无法让我的代码从 ArrayList 返回对象

perl 不能使用字符串作为数组引用