如何从Java 9中的Optional类获取流?

可选 类提供了可以或可以不包含一个容器非空值。它已在Java 8中引入,以减少代码中已生成NullPointerException 的位数。Java的9增加了三个方法:ifPresentOrElse()  Ô [R (),流() ,这有助于我们处理的默认值。

在下面的示例中,我们可以使用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