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は個々の実装で扱うものではないなと感じました。 今回悩みは解決に至りませんでした。