Вот то, что я использую для вспомогательного метода в некоторых моих кодах.Действительно хорошо работает, уменьшая тонну нулевых проверок, которые я обычно должен размещать перед итерацией по спискам.Если вам нужен список, который не был бы неизменным, вы можете вернуть новый объект списка вместо Collections.emptyList
/**
* Helper method to return an empty list if provided one is null.
*
* @param list the list
* @return the provided list or an empty one if it was null
*/
private static <T> List<T> emptyIfNull(List<T> list) {
if (list == null) {
return Collections.emptyList();
}
return list;
}
Затем вы просто используете вспомогательный метод, например:
for (Object object : emptyIfNull(existingList)) { ... }
Если объект списка нулевой, то вспомогательный метод вернет статический пустой список, и содержимое вашего цикла будет пропущено.Это хороший способ избежать создания пустых проверок, обертывающих любые итерации списка.
Я сделал внутренние элементы списка типа Object только для примера, но вы, очевидно, изменили бы его навсе, что имеет смысл для вашего использования.