删除 java 中的对象,仅在数组列表中引用它

Removing an object in java with only reference to it in an arraylist

我有一个带有自定义对象的数组列表:

public ArrayList<Mode> modes = new ArrayList<>();

该列表中有例如 3 个实例。我如何设置所有这些实例以供垃圾收集器删除它们?

for (Mode mode : modes)
    mode = null;

以上方法无效。我的 Eclipse (IDE) 只是说从未使用过局部变量模式。 我将如何获得实际实例以将其删除?

只需 clear the ArrayList 删除所有元素。

modes.clear();

或者使用 its Iterator 并删除你想要的。

使用 List.set 方法将单个元素设置为 null。

for(int i=0;i<modes.size();++i)
    modes.set(i,null);

使用List.clear()清除整个数组。

或者使用迭代器移除所有元素:

Iterator<Mode> it = modes.iterator();
while(it.hasNext())
    it.remove();