Optional क्लास में ifPresentOrElse() मेथड का सुधार यह है कि यह दो पैरामीटर स्वीकार करता है, Consumer और Runnable। ifPresentOrElse() मेथड का उपयोग करने का उद्देश्य यह है कि यदि कोई Optional मान रखता है, तो फंक्शन एक्शन निहित मान पर कॉल किया जाता है, यानी action.accept(value), जो ifPresent() मेथड के अनुरूप है। ifPresent() मेथड से अंतर यह है कि ifPresentOrElse() का दूसरा पैरामीटर, emptyAction है। यदि Optional में कोई मान नहीं है, तो ifPresentOrElse() मेथड emptyAction को कॉल करता है, यानी emptyAction.run()।
सिंटैक्स
public void ifPresentOrElse(Consumer super T> action, Runnable emptyAction)
उदाहरण
import java.util.Optional;
public class IfPresentOrElseMethodTest {
public static void main(String args[]) {
Optional optional = Optional.of(1);
optional.ifPresentOrElse(x -> System.out.println("Value: " + x), () -> System.out.println("Not Present"));
optional = Optional.empty();
optional.ifPresentOrElse(x -> System.out.println("Value: " + x), () -> System.out.println("Not Present"));
}
}
आउटपुट
Value: 1 Not Present