Я ищу метод, который может создавать поток сбора, но является нулевым. Если коллекция null, возвращается пустой поток. Как это:Null safe Collection as Stream в Java 8
Utils.collectionAsStream(collection).filter(...);
Я создал свой собственный метод:
public static <T> Stream<T> collectionAsStream(Collection<T> collection) {
if (collection == null) {
return Stream.empty();
}
return collection.stream();
}
Но мне интересно, если есть что-то вроде этого в стандартной версии JDK?
Вы должны попытаться избежать 'null' коллекции в первую очередь. Лучшая практика - предпочесть использовать пустую коллекцию вместо этого. –
Да, я согласен, но если вы зависите от чужой библиотеки, у вас нет выбора. – Gondy
В этом случае вы можете просто заменить коллекцию, которую вы получаете из этой библиотеки, пустой, когда она вернет «null». Немного похоже на решение greg. –