Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Tầm quan trọng của phương thức Optional.or() trong Java 9?

Trong Java 9, vài phương thức tĩnh: stream(), or(), và ifPresentOrElse() được thêm vào lớp Optional<T>. Việc giới thiệu lớp Optional giải quyết null pointer exception.

Optional.or() trả về Optional mô tả giá trị nếu giá trị hiện có, ngược lại trả về Optional do supplying function 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));
    }
}

Kết quả

Value: TutorialsPoint
Value: Not Present