Optional ifPresentOrElse() method in Java with examples

Last Updated : 12 Jul, 2025
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
// 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
// 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);
        }
    }
}
Comment