Streams Начинающий

Создание Stream с нулём или одним элементом из nullable-значения.

✕ Java 8
Stream<String> s = val != null
    ? Stream.of(val)
    : Stream.empty();
✓ Java 9+
Stream<String> s =
    Stream.ofNullable(val);
Заметили проблему в этом коде? Сообщите нам.
📏

Краткость

Один вызов заменяет тернарное выражение.

🔗

flatMap-совместимый

Отлично подходит внутри flatMap для пропуска null-значений.

🛡️

Null-безопасный

Нет риска NPE — null превращается в пустой Stream.

Старый подход
Проверка на null
Современный подход
ofNullable()
Начиная с JDK
9
Сложность
Начинающий
Stream.ofNullable()
Доступно

Широко доступно с JDK 9 (сент. 2017)

Stream.ofNullable() возвращает однопоточный Stream, если значение не null, или пустой Stream, если оно null. Устраняет паттерн тернарной проверки на null.