Java如何在List中存储对象?

mw8*_*w88 8 java list

我必须使用现有的应用程序,并且有一个List存储所有渲染的对象,以便稍后在gui更改时删除它们.

这是清单:

private List<Component> registeredComponents = new ArrayList<Component>();
Run Code Online (Sandbox Code Playgroud)

现在我想知道Java是否只存储对象的引用(ZK组件),或者它是否存储了对象的副本.问题是我是否应该删除它.

aio*_*obe 13

该列表包含参考.这适用于所有类型的集合,而不仅仅是ArrayLists.

在Java中,实际上没有办法 "掌握"对象本身.当你创建一个新对象时,你得到的只是对它的引用(并且没有办法通过使用例如*C++中的运算符来"取消引用"它).

  • 我觉得你不明白.*没有办法*变量(或集合)可以容纳一个对象.它只能包含对象的*引用*(无论您覆盖哪种方法或如何创建对象). (3认同)
  • 不,你最终会得到一个对象副本的引用. (2认同)