Optional.stream() मेथड
Optional क्लास एक कंटेनर प्रदान करती है जिसमें नॉन-नल मान हो सकता है या नहीं। इसे Java 8 में NullPointerException की संभावना कम करने के लिए पेश किया गया था। Java 9 ने तीन नए मेथड्स जोड़े: ifPresentOrElse(), or(), और stream(), जो डिफ़ॉल्ट मानों से निपटने में मदद करते हैं।
उदाहरण: Person क्लास के साथ
import java.util.Optional;
import java.util.stream.Stream;
public class OptionalTest {
public static void main(String args[]) {
getPerson().stream()
.map(Person::getName)
.map("Jai "::concat)
.forEach(System.out::println);
getEmptyPerson().stream()
.map(Person::getName)
.map("Jai "::concat)
.forEach(System.out::println);
}
private static Optional<Person> getEmptyPerson() {
return Optional.empty();
}
private static Optional<Person> getPerson() {
return Optional.of(new Person("Adithya"));
}
static class Person {
private String name;
public Person(String name) { this.name = name; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
}
}
आउटपुट
Jai Adithya
ध्यान दें कि getEmptyPerson() से खाली Optional पर stream() कॉल करने पर कोई आउटपुट नहीं होता, क्योंकि स्ट्रीम खाली होती है।