需要一些输入:
假设我有 N 个 ArrayList
并且在每个中我都添加了 foo() 对象。
Foo foo = new Foo()
A.add(foo);
B.add(foo);
N.add(foo);
现在对任何一个 foo()
对象所做的修改都会反射(reflect)在所有其他数组列表中吗?
如果是,为什么?和
是否也可以使用任何其他集合(如 Vector 等...)实现此行为?
如果我将 foo 设置为 null,它会反射(reflect)在所有数组列表中吗?
最佳答案
- 是的,因为所有列表只包含对相同对象的引用
- 是的,所有的集合都是这样
- 不能,因为您只能将引用设置为 null,并且每个列表都有引用的副本。
关于java - ArrayList 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9378000/