Java 9 中 Optional.or() 方法的重要性?


在 Java 9 中, 添加了幾個靜態方法:stream()or()ifPresentOrElse(),用於 Optional<T> 類。Optional 類旨在解決空指標異常

Optional.or() 方法返回一個 Optional ,描述了值(如果存在值),否則返回透過提供函式產生的 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

更新日期: 2020 年 4 月 17 日

674 次瀏覽

開啟你的 職業

完成課程後獲得認證

開始
廣告