ArrayList对象

Rav*_*han 1 java

需要一些输入:

让我说我有N ArrayList并且在每个我添加foo()对象.

Foo foo = new Foo()

A.add(foo);

B.add(foo);

N.add(foo);
Run Code Online (Sandbox Code Playgroud)

现在对任何一个foo()对象进行的修改都将反映在所有其他的arraylist中?

  1. 如果是的为什么?和

  2. 是否也可以使用Vector等其他任何集合实现此行为......?

  3. 如果我将foo视为null将会反映在所有arraylist中吗?

Mic*_*rdt 8

  1. 是的,因为所有列表只包含对相同对象的引用
  2. 是的,所有收藏品都是这样的
  3. 不,因为您只能将引用设置为null,并且每个列表都有一个引用的副本.