如何在 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 次浏览

启动 职业生涯

完成课程,获得认证

开始
广告
© . All rights reserved.