জাভা ৯-এ, কিছু স্ট্যাটিক মেথড: stream(), or(), এবং ifPresentOrElse() Optional<T> ক্লাসে যোগ করা হয়েছে। Optional ক্লাসের পরিচয় নাল পয়েন্টার এক্সসেপশন সমাধান করে।
Optional.or() মেথড একটি Optional রিটার্ন করে যা মানটি উপস্থিত থাকলে সেটি বর্ণনা করে, অন্যথায় সাপ্লাইয়ার ফাংশন দ্বারা প্রোডিউস করা একটি Optional রিটার্ন করে।
সিনট্যাক্স
public Optional<T> or(Supplier<? extends Optional<? extends T>> supplier)
উদাহরণ
import java.util.Optional;
import java.util.function.Supplier;
public class OptionalOrTest {
public static void main(String args[]) {
Optional<String> optional = Optional.of("TutorialsPoint");
Supplier<Optional<String>> supplierString = () -> Optional.of("Not Present");
optional = optional.or(supplierString);
optional.ifPresent(x -> System.out.println("Value: " + x));
optional = Optional.empty();
optional = optional.or(supplierString);
optional.ifPresent(x -> System.out.println("Value: " + x));
}
}
আউটপুট
Value: TutorialsPoint Value: Not Present