我想“删除”数组的一些元素,当我将它们设置为 null 时,这些元素在我尝试打印它时没有出现,它们是否“被垃圾收集器删除或 println 方法只是忽略”空值?例如:
this.E = new String[3];
E[0]="blue";
E[1]="red";
E[1]="gray";
this.E[0] = null;
for(int i = 0 ; i < E.length ; i++)
System.out.println(E[i]);
该代码仅输出红色和灰色,因此蓝色被释放了内存,或者空值被忽略,因为它不代表任何东西?
最佳答案
该值保留在内存中,GC 需要释放整个数组来执行您想要的操作
关于java - Java GC 是否会释放数组的 null 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23761956/