コレクションを反復処理する必要があるたびに、for-each ループの反復処理が始まる直前に null をチェックすることになります。次のようになります。
if( list1 != null ){
for(Object obj : list1){
}
}
「if」ブロックを書かずに済むような、もっと短い方法はありますか? 注: 私は Java 5 を使用しており、しばらくはこれで我慢するつもりです。
ベストアンサー1
可能であれば、コレクションがnull
最初から存在しないようにコードを設計する必要があります。
null
コレクションは悪い習慣です(この理由により)。代わりに空のコレクションを使用する必要があります。(例:Collections.emptyList()
)
Iterable
あるいは、コレクションを実装して受け取り、コレクションを処理するラッパークラスを作成することもできますnull
。
その場合は次のように記述します。foreach(T obj : new Nullable<T>(list1))