在Java 9中使用Optional.ifPresentOrElse()方法的目的是什么?

Optional 类中ifPresentOrElse()方法的改进是接受两个参数Consumer 和Runnable。使用ifPresentOrElse()方法的目的是,如果Optional 包含一个值,则会对所包含的值(即 action.accept(value))调用函数action ,这与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

以上是 在Java 9中使用Optional.ifPresentOrElse()方法的目的是什么? 的全部内容, 来源链接: utcz.com/z/354335.html

回到顶部