• 念念不忘,必有回响!包含: Java 基础, Java 部分源码, JVM, Spring, Spring Boot, Spring Cloud, 开源项目等
  • 念念不忘,必有回响!包含: 数据库原理, MySQL, ElasticSearch, MongoDB, Docker,CI&CD, Linux, DevOps, 分布式, 中间件等
  • 念念不忘,必有回响!包含: 开发工具, Git, IDE, 源码阅读,读书笔记等

Optionals

2023-04-15 11:15
1722
0

首先,Optional 它不是一个函数式接口,设计它的目的是为了防止空指针异常(NullPointerException),要知道在 Java 编程中,空指针异常可是臭名昭著的。

让我们来快速了解一下 Optional 要如何使用!你可以将 Optional 看做是包装对象(可能是 null, 也有可能非 null)的容器。当你定义了

一个方法,这个方法返回的对象可能是空,也有可能非空的时候,你就可以考虑用 Optional 来包装它,这也是在 Java 8 被推荐使用的做法。

@Test
public void test16(){
    Optional<String> optional = Optional.of("bam");
    optional.isPresent();                  // true
    optional.get();                        // "bam"
    optional.orElse("fallback");    // "bam"
    optional.ifPresent((s) -> System.out.println(s.charAt(0)));     // "b"
    Optional<Person> optionalPerson = Optional.of(new Person());
    optionalPerson.ifPresent(s -> System.out.println(s.firstName));
}

全部评论