首页 > 解决方案 > if / else的可选方式

问题描述

我试图通过使用 Java Optional 来避免传统的 if / else 块。但是我仍然缺少对如何实现下一个要求的理解:

    if (x != null)
       foo1();
    else
       foo2();

public void foo1(){
   print("X not null");
}

public void foo2(){
   print("X is null");
}

谢谢

标签: javaoptional

解决方案


jdk-9你可以使用ifPresentOrElse

public void ifPresentOrElse​(Consumer<? super T> action,
                        Runnable emptyAction)

代码

Optional.ofNullable(x).ifPresentOrElse(x->foo1(), ()->foo2());

推荐阅读