如何将(Optional.isPresent())替换为函数样式的表达式

Teo*_* J. 2 java java-8 java-stream

我有以下代码块:

Optional<Integer> result = //some method that returns an Optional<Integer>;

    if(result.isPresent()) {
        return result.get();
    } else {
        return 0;
    }
Run Code Online (Sandbox Code Playgroud)

我的IntelliJ建议我用功能表达式替换它.我看到里面有一个方法ifPresentOrElse(),Optional但我无法弄清楚如何在这种特殊情况下使用它.

有什么建议?谢谢!

Ben*_* P. 10

看起来就像orElse()你想要的一样.https://docs.oracle.com/javase/9​​/docs/api/java/util/Optional.html#orElse-T-

Optional<Integer> result = //some method that returns an Optional<Integer>;
return result.orElse(0);
Run Code Online (Sandbox Code Playgroud)