さて、オブジェクトのプリミティブ配列があり、それらを配列から削除できないため、代わりに配列内のオブジェクトの位置を null に変更します。ただし、配列内の各オブジェクトを反復処理する場合は、次のようにします。
for (Derp derp : derps){
derp.herp++;
}
私はこのようなことをしなければなりませんか?
for (Derp derp : derps){
if (derp != null){
derp.herp++;
}
}
それとも、私が最初に持っていた方法で大丈夫ですか?for ループは、Derp オブジェクトとして宣言したため、null オブジェクトではなく、Derp オブジェクトを反復処理するだけでよいことを「認識」しますか? それとも、私が言ったようにそれを Derp オブジェクトとして扱い、Derp 以外のオブジェクトを反復しようとするとエラーが発生するのでしょうか? それともnullはまだDerpオブジェクトですか?それはどれで、どのコードを使用できますか?
または、プリミティブ配列からオブジェクトを削除し、null オブジェクトを残さず、実際にプリミティブ配列の長さを短くするにはどうすればよいですか?