配列ArrayUtils.nullToEmpty
のcommons-lang
ライブラリから使用
for( Object o : ArrayUtils.nullToEmpty(list) ) {
// do whatever
}
この機能commons-lang
は、ほとんどのJavaプロジェクトに含まれているライブラリに存在します。
// ArrayUtils.nullToEmpty source code
public static Object[] nullToEmpty(final Object[] array) {
if (isEmpty(array)) {
return EMPTY_OBJECT_ARRAY;
}
return array;
}
// ArrayUtils.isEmpty source code
public static boolean isEmpty(final Object[] array) {
return array == null || array.length == 0;
}
これは@OscarRyzの回答と同じですが、DRYのマントラのために、注目に値すると思います。参照コモンズ・ラングのプロジェクトページを。ここにnullToEmpty
API ドキュメントとソースがあります
commons-lang
プロジェクトに含めるMavenエントリ(まだ含まれていない場合)。
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.4</version>
</dependency>
残念ながら、commons-lang
はこのList
タイプの機能を提供していません。この場合、前述のようにヘルパーメソッドを使用する必要があります。
public static <E> List<E> nullToEmpty(List<E> list)
{
if(list == null || list.isEmpty())
{
return Collections.emptyList();
}
return list;
}
null
空のコレクションと同じではありません。