Last Updated : 12 Jul, 2025
The
ifPresentOrElse(Consumer, Runnable)method of
java.util.Optional classhelps 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:
This method returns nothing.
Exception:This method throw
NullPointerExceptionif 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: 9455Program 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);
}
}
}
Output:
Optional: Optional.empty Value is emptyReference: https://docs.oracle.com/javase/9/docs/api/java/util/Optional.html#ifPresentOrElse-java.util.function.Consumer-java.lang.Runnable-
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4