Javaのnullチェックでif文を使いたくない(解決せず)
解決した(2018/08/04 追加)
Javaのnullチェックでif文を使いたくない(個人的には解決) - ikhrのブログ
最近の悩み
public class TestNull { @SuppressWarnings("unused") public static void main(String[] args) { //何らかの処理の戻り値ParentBeanの値がnullと仮定 ParentBean parentBean = null; //悩みの種 if (parentBean != null && parentBean.getChildBean() != null) { System.out.println(parentBean.getChildBean().getGrandChildBean().getName()); } } }
Java SE8でOptionalというものが追加された
public class TestNull { public static void main(String[] args) { Optional<ParentBean> parentBean = Optional.ofNullable(null); //isPresent //今までと同じことに。。 //parentBeanの中身もOptionalでラップしてもらう必要がある。。※面倒臭いので割愛 if (parentBean.isPresent()) { System.out.println(parentBean.get().getChildBean().getGrandChildBean().getName()); } //ifPresent //これもやってること変わらない気がする。 parentBean.ifPresent(bean -> System.out.println(bean.getChildBean().getGrandChildBean().getName())); } }
参考
https://docs.oracle.com/javase/jp/8/docs/api/java/util/Optional.html
所感
Optionalは個々の実装で扱うものではないなと感じました。 今回悩みは解決に至りませんでした。