当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Optional ifPresentOrElse()用法及代码示例


java.util.Optional类的ifPresentOrElse(Consumer,Runnable)方法可帮助我们执行此Optional对象的值的指定消费者操作。如果此Optional中不存在值,则此方法执行给定的基于空的Runnable emptyAction,作为第二个参数传递

用法:

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

参数:此方法接受两个参数:


  • action:如果存在值,则是对此Optional所执行的操作。
  • emptyAction:如果不存在任何值,这是要执行的基于空的操作。

返回值:此方法不返回任何内容。

异常:如果存在一个值并且给定的操作为null,或者不存在任何值并且给定的基于空的操作为null,则此方法抛出NullPointerException。

以下示例程序旨在说明ifPresentOrElse()方法:

注意:由于此方法是在Java 9中添加的,因此程序需要JDK 9才能执行。

示例1:

// Java program to demonstrate 
// Optional.ifPresentOrElse() method 
  
import java.util.*; 
  
public class GFG { 
  
    public static void main(String[] args) 
    { 
  
        // create a Optional 
        Optional<Integer> op 
            = Optional.of(9455); 
  
        // print value 
        System.out.println("Optional: "
                           + op); 
  
        // apply ifPresentOrElse 
        op.ifPresentOrElse( 
            (value) 
                -> { System.out.println( 
                         "Value is present, its: "
                         + value); }, 
            () 
                -> { System.out.println( 
                         "Value is empty"); }); 
    } 
}

输出:

Optional: Optional[9455]
Value is present, its: 9455

示例2:

// Java program to demonstrate 
// Optional.ifPresentOrElse method 
  
import java.util.*; 
  
public class GFG { 
  
    public static void main(String[] args) 
    { 
  
        // create a Optional 
        Optional<Integer> op 
            = Optional.empty(); 
  
        // print value 
        System.out.println("Optional: "
                           + op); 
  
        try { 
  
            // apply ifPresentOrElse 
            op.ifPresentOrElse( 
                (value) 
                    -> { System.out.println( 
                             "Value is present, its: "
                             + value); }, 
                () 
                    -> { System.out.println( 
                             "Value is empty"); }); 
        } 
        catch (Exception e) { 
            System.out.println(e); 
        } 
    } 
}

输出:

Optional: Optional.empty
Value is empty

参考: https://docs.oracle.com/javase/9/docs/api/java/util/Optional.html#ifPresentOrElse-java.util.function.Consumer-java.lang.Runnable-



相关用法


注:本文由纯净天空筛选整理自ShubhamMaurya3大神的英文原创作品 Optional ifPresentOrElse() method in Java with examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。