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

javaobject oriented programmingprogramming更新于 2025/9/14 9:16:17

Optional  类提供了一个容器,该容器可能包含也可能不包含 非空 值。它是在 Java 8 中引入的,以减少代码中生成 NullPointerException  的位置数量。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

相关文章


有用资源