ทั้ง Optional.ifPresentOrElse() และ Optional.or() ได้แนะนำในเวอร์ชัน Java 9 เพื่อปรับปรุงฟังก์ชันการทำงาน Optional.ifPresentOrElse() เมธอดจะตรวจสอบว่ามีค่าอยู่หรือไม่ ใช้การดำเนินการกับค่า มิฉะนั้นจะคืนค่าการกระทำที่ว่างเปล่าในขณะที่ Optional.or() วิธีการตรวจสอบว่ามีค่าอยู่หรือไม่ ตัวเลือกการส่งคืนมีค่า มิฉะนั้น return Optional ใช้กับผู้จัดหา funciton Optional.ifPresentOrElse() เมธอดประกอบด้วยสองพารามิเตอร์ ผู้บริโภค และ รันได้ ในขณะที่ Optional.or() เมธอดมีพารามิเตอร์เพียงตัวเดียว ซัพพลายเออร์ .
ไวยากรณ์ของ Optional.ifPresentOrElse():
โมฆะสาธารณะ ifPresentOrElse(Consumer super T> action, Runnable emptyAction)
ตัวอย่าง
<ก่อนหน้า นำเข้า java.util.Optional นำเข้า java.util.concurrent.atomic.AtomicInteger คลาสสาธารณะ IfPresentOrElseMethodTest { โมฆะสาธารณะหลัก (String args []) { optionalIsPresent (); ทางเลือก IsEmpty(); } โมฆะคงที่ส่วนตัว optionalIsPresent() { ทางเลือกผลลัพธ์
1001
ไวยากรณ์ของ Optional.or():
ตัวเลือกสาธารณะหรือ (ซัพพลายเออร์ ขยายตัวเลือก ขยายซัพพลายเออร์ T>>)
ตัวอย่าง
<ก่อน>นำเข้า java.util.Optional; คลาสสาธารณะ OptionalOrMethodTest { โมฆะคงที่สาธารณะหลัก (สตริง args []) { optionalIsPresent (); ทางเลือก IsEmpty(); } โมฆะคงที่ส่วนตัว optionalIsPresent() { ทางเลือกผลลัพธ์
Test1Test2