在 Java 9 中使用 Optional.ifPresentOrElse() 方法的目的是什么?
ifPresentOrElse() 方法在 Optional 类的改进在于接受两个参数,Consumer 和 Runnable。使用 ifPresentOrElse() 方法的目的是如果一个 Optional 包含一个值,函数 action 会被调用到所包含的值,即 action.accept (value),这与 ifPresent() 方法一致。与 ifPresent() 方法的区别在于 ifPresentOrElse() 有第二个参数 emptyAction。如果 Optional 不包含任何值,那么 ifPresentOrElse() 方法会调用 emptyAction,即 emptyAction.run()。
语法
public void ifPresentOrElse(Consumer<? super T> action, Runnable emptyAction)
示例
import java.util.Optional;
public class IfPresentOrElseMethodTest {
public static void main(String args[]) {
Optional<Integer> optional = Optional.of(1);
optional.ifPresentOrElse(x -> System.out.println("Value: " + x), () ->
System.out.println("Not Present"));
optional = Optional.empty();
optional.ifPresentOrElse(x -> System.out.println("Value: " + x), () ->
System.out.println("Not Present"));
}
}输出
Value: 1 Not Present
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
安卓
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP