次の Java セグメントでは、for-each ループに渡される変数リストが null であるため、NullPointException が発生します。
List<> arr = null;
for (Object o : arr) {
System.out.println("ln "+o);
}
for (Object o : arr){ }
と同等だと思います
for (int i = 0; i < arr.length; i++) { }
および/または
for (Iterator<type> iter = arr.iterator(); iter.hasNext(); ){
type var = iter.next();
}
いずれの場合も、arr が null の場合、arr.length が発生するか、arr.iterator() が NullPointException をスローします。
for (Object o : arr){ }
が翻訳されない理由が知りたい
if (arr!=null){
for (int i = 0; i < arr.length; i++) {
}
}
and
if (arr!=null){
for (Iterator<type> iter = arr.iterator(); iter.hasNext(); ){
type var = iter.next();
}
}
arr!=null 式を含めると、コードのネストを減らすことができます。