ตัวเลือก ตัวเลือก class จัดเตรียมคอนเทนเนอร์ที่อาจมีหรือไม่มี non-null ค่า. ได้รับการแนะนำใน Java 8 เพื่อลดจำนวนตำแหน่งในโค้ดที่ NullPointerException ได้สร้างขึ้น Java 9 เพิ่มสามวิธี:ifPresentOrElse() ,โอ ร() และ สตรีม() ซึ่งช่วยให้เราจัดการกับค่าเริ่มต้นได้
ในตัวอย่างด้านล่าง เราสามารถรับสตรีมจากคลาสเสริมโดยใช้ บุคคล คลาส
ตัวอย่าง
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