Java,确保从 arrayList 中删除对象时删除对象

标签 java loops arraylist garbage

假设我正在删除一个名为“敌人”的“死亡”对象。

使用这样的东西:

for(int i = 0; i < enemies.size(); i++)
    {
    Enemy en = (Enemy) enemies.get(i);
    if(en.getVisible() == true)
        en.update();
    else
        enemies.remove(i);
    }

对象从ArrayList中删除后是否会被删除?还是“应该”?我以前主要写 C++ 代码,垃圾收集让我很困惑。

有什么方法可以查看对象是否被垃圾收集器删除吗?

谢谢

最佳答案

我真的很喜欢看到 C/C++ 和 Java 垃圾收集惨败的相反情况。 Java 有自己的垃圾收集器,您无需担心内存管理 - .remove() 就足够了。

关于Java,确保从 arrayList 中删除对象时删除对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15652552/

相关文章:

c - while循环与++变量

java - 使用 Runtime.getRuntime().totalMemory() 和 freeMemory() 计算内存的结果令人困惑?

java - Reg for (int index = 3; index--> 1;)

c - 数据结构 "stack"执行期间 do-while 循环中的逻辑错误

java - float[]的ArrayList,无法检查ArrayList中是否包含float[]

java - 对象被替换为最新的对象

java - 尝试从文件夹打印数组列表时出错

运行 Hadoop 作业时出现 java.lang.OutOfMemoryError

java - Collectors.toMap() 和 Collectors.groupingBy() 收集成 Map 的区别

python - 如何在wx.Python中正确使用wx.CallLater