Використання 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 , я вважаю, що це варто відзначити. Дивіться сторінку проекту commons-lang . Ось документація та джерелоnullToEmpty
API
Додано запис, який потрібно включити commons-lang
у ваш проект, якщо його ще немає.
<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
не те саме, що порожня колекція.