Streams 初級

null許容値から0または1要素のストリームを作成する。

✕ Java 8
Stream<String> s = val != null
    ? Stream.of(val)
    : Stream.empty();
✓ Java 9+
Stream<String> s =
    Stream.ofNullable(val);
このコードに問題がありますか? お知らせください。
📏

簡潔

三項条件の代わりに1回の呼び出しで済みます。

🔗

flatMap対応

null値をスキップするflatMap内で最適です。

🛡️

null安全

NPEのリスクなし — nullは空のストリームになります。

旧来のアプローチ
nullチェック
モダンなアプローチ
ofNullable()
JDKバージョン
9
難易度
初級
Stream.ofNullable()
利用可能

JDK 9(2017年9月)以降、広く利用可能

Stream.ofNullable()は値がnull以外の場合は1要素のストリームを、nullの場合は空のストリームを返します。三項演算子によるnullチェックパターンを排除します。

共有 𝕏 🦋 in