好吧,我有一个原始的对象数组,因为我无法从数组中删除它们,我改为将数组中对象的位置更改为null.但是,如果我想以下列方式迭代数组中的每个对象:
for (Derp derp : derps){
derp.herp++;
}
Run Code Online (Sandbox Code Playgroud)
我必须这样做吗?
for (Derp derp : derps){
if (derp != null){
derp.herp++;
}
}
Run Code Online (Sandbox Code Playgroud)
或者我第一次拥有它会没事吗?for循环'知道'它只需要迭代Derp对象,而不是空对象,因为我已经将它声明为Derp对象吗?或者它可能只是将它视为Derp对象,因为我已经说过它会在尝试迭代非Derp对象时导致错误?或者null仍然是一个Derp对象,只有一个为null?它是什么,我可以使用什么代码?
或者,如何从基本数组中删除对象而不留下空对象并实际缩短基本数组的长度?