Computer >> 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, một số phương thức tĩnh: stream () hoặc () ifPresentOrElse () đã thêm vào Tùy chọn lớp. Sự ra đời của một Tùy chọn lớp giải quyết ngoại lệ con trỏ null .

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