Optionalについて
目的
JavaのOptiolanについて学んだのでメモ
Optional
用途
nullチェックを簡単に行いたい.
例
if文を用いてnullチェックを行う場合
String hoge = getHoge(); //このときnullが返ってきたときhogeはnullかもしれない if(hoge != null) { //ここでnullチェック System.out.println(hoge.length()); //hogeがnullじゃないのでlength()が安全に実行できる(null.length()ってならない) }
Optionalを使用する場合
Optinal<String> hogeOpt = Optional.ofNullable(getHoge()); // hogeをOptinalクラスでラップする // .ifPresent() : Optionalクラスの中がnullじゃないか確認 // nullならfalse // 存在するならtrueを返す hogeOpt.ifPresent(hoge -> System.out.println(hoge.length())); //値が存在するときに実行
まとめ
- Optional型にすることでコードを見たときにnullが返ってくる可能性を明示することができる
- if文などのnull判定ではブロックのネストが深くなることがあるがそれを避けることが可能