ใน Java 9 มีวิธีการคงที่สองสามวิธี:สตรีม () หรือ () และ ifPresentOrElse() ได้เพิ่มใน ตัวเลือก
Optional.or() วิธีการส่งคืน ตัวเลือก อธิบายค่าหากมีค่า มิฉะนั้นจะคืนค่า 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