Optional ifPresentOrElse() method in Java with examples (original) (raw)

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 parameterSyntax:

public void ifPresentOrElse(Consumer action, Runnable emptyAction)

Parameters: This method accepts two parameters:

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

}

`