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