Trong Java 9, một số phương thức tĩnh: stream () hoặc () và ifPresentOrElse () đã thêm vào Tùy chọn
Optional.or () phương thức trả về một Tùy chọn mô tả giá trị nếu có giá trị, nếu không sẽ trả về Tùy chọn do hàm cung cấp tạo ra.
Cú pháp
public Optional<T> or(Supplier<? extends Optional<? extends T>> supplier)
Ví dụ
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)); } }
Đầu ra
Value: TutorialsPoint Value: Not Present