Stream.ofNullable()
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
難易度
初級
JDKサポート
Stream.ofNullable()
利用可能
JDK 9(2017年9月)以降、広く利用可能
仕組み
Stream.ofNullable()は値がnull以外の場合は1要素のストリームを、nullの場合は空のストリームを返します。三項演算子によるnullチェックパターンを排除します。
関連ドキュメント