Open In App

Optional ifPresentOrElse() method in Java with examples

Last Updated : 30 Jul, 2019
Improve
Improve
Like Article
Like
Save
Share
Report

The ifPresentOrElse(Consumer, Runnable) method of java.util.Optional class helps us to perform the specified Consumer action the value of this Optional object. If a value is not present in this Optional, then this method performs the given empty-based Runnable emptyAction, passed as the second parameter

Syntax:

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

Parameters: This method accepts two parameters:

  • action: which is the action to be performed on this Optional, if a value is present.
  • emptyAction: which is the empty-based action to be performed, if no value is present.

Return value: This method returns nothing.

Exception: This method throw NullPointerException if a value is present and the given action is null, or no value is present and the given empty-based action is null.

Below programs illustrate ifPresentOrElse() method:

Note: As this method was added in Java 9, the programs need JDK 9 to execute.

Program 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"); });
    }
}


Output:

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

Program 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);
        }
    }
}


Output:

Optional: Optional.empty
Value is empty

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



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads