如何在 Java 9 中從 Optional 類獲取流?


Optional 類提供一個可能包含或不包含非空值的容器。它在 Java 8 中引入,旨在減少程式碼中生成空指標異常的位置。Java 9 添加了三個方法:ifPresentOrElse()or()stream(),這些方法有助於我們處理預設值。

在下方的示例中,我們使用 Person 類從 Optional 類獲取流

示例

import java.util.Optional;
import java.util.stream.Stream;

public class OptionalTest {
   public static void main(String args[]) {
      getPerson().stream()
                 .map(Person::getName)
                 .map("Jai "::concat)
                 .forEach(System.out::println);

      getEmptyPerson().stream()
                      .map(Person::getName)
                      .map("Jai "::concat)
                      .forEach(System.out::println);
   }
   private static Optional<Person> getEmptyPerson() {
      return Optional.empty();
   }
   private static Optional<Person> getPerson() {
      return Optional.of(new Person("Adithya"));
   }
   static class Person {
      private String name;
      public Person(String name) {
         this.name = name;
      }
      public String getName() {
         return name;
      }
      public void setName(String name) {
         this.name = name;
      }
   }
}

輸出

Jai Adithya

更新於: 2020 年 3 月 27 日

106 次瀏覽

啟動 職業生涯

完成課程,獲得認證

開始
廣告