いけむランド

はてダからやってきました

null 判定のためだけに Optional.ofNullable を使うのはやめよう

java.util.Optional を使いたい気持ちはわかるけど、なんでもかんでも Optional で書けば良いというものではない。

(機械翻訳っぽい記事しか出てこない。)
javaer101.com


初期化されていなければ初期化する処理を Optional を使って書くと以下のようになる。

List list = Optional.ofNullable(list).orElse(new ArrayList<>());

この場合 2 回目以降の呼び出しでは、内部で Optional インスタンスがつくられては、参照されないためにすぐに破棄されるというコードになる。

素直に三項演算子か if 文で書いた方が良いと思う。