Wednesday, July 3, 2024
HomeLanguagesJavaOptional ifPresentOrElse() method in Java with examples

Optional ifPresentOrElse() method in Java with examples

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-

Nokonwaba Nkukhwana
Experience as a skilled Java developer and proven expertise in using tools and technical developments to drive improvements throughout a entire software development life cycle. I have extensive industry and full life cycle experience in a java based environment, along with exceptional analytical, design and problem solving capabilities combined with excellent communication skills and ability to work alongside teams to define and refine new functionality. Currently working in springboot projects(microservices). Considering the fact that change is good, I am always keen to new challenges and growth to sharpen my skills.
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments