Java 8如果不存在Optional,如何从方法返回?

Niu*_*ang 2 java lambda optional

我的意思不是返回一个Optional值,我的意思是说一个方法:

public void someMethod() {
    Optional<Obj> obj = someService.getObj();
    if (obj.isPresent()) {
         ....
    } else {
       log.info(xxxx);
       return;
    }
    xxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxx
    other codes
}
Run Code Online (Sandbox Code Playgroud)

是否可以使用Optional.ifPresent方法编写它?我的意思是,避免使用if isPresent东西。

非常感谢。

==更新:

似乎JDK9中的PresentOrElse可以做到这一点,但是JAVA8中有什么方法可以做到这一点?

我不需要此方法返回任何值,但是如果Optional不存在,我想记录一些内容。

Nam*_*man 5

似乎像ifPresentOrElseJava-9中的用例:

obj.ifPresentOrElse(a -> {...}, () -> {logger.info(xxxx);return; });
Run Code Online (Sandbox Code Playgroud)