ตัวเลือก ตัวเลือก 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