第10章 用Optional取代null

通过编译器的自动检测机制,确保所有使用引用的地方安全,但null除外,用来表示不存在的值。

Java为了兼容以前的语言,以及使用上方便,也使用了null,导致了java中最常见的异常NullPointerException。

10.1 如何为缺失的值建模

10.1 如何为缺失的值建模

10.2 Optional类入门

10.2 Optional类入门

10.3 应用Optional的几种模式

10.3 应用Optional的几种模式

10.4 使用Optional的实战示例

10.4 使用Optional的实战示例

10.5 小结

  • null引用在历史上被引入到程序设计语言中,目的是为了表示变量值的缺失;
  • Java 8中引入了一个新的类java.util.Optional,对存在或缺失的变量值进行建模;
  • 使用静态工厂方法Optional.empty、Optional.of以及Optional.ofNullable创建Optional对象;
  • Optional类支持多种方法,比如map、flatMap、filter,与Stream类似;
  • 使用Optional迫使在获取封装值时,应对变量值缺失的问题,最终更有效地防止代码中出现空指针异常;
  • 使用Optional能帮助设计出更好的API,通过返回Optional,表示返回值可能缺失,驱动调用者处理变量值缺失的问题,更有效地防止NPE的出现;

引用

  1. Java 8实战
posted @ 2023-05-28 13:57  蒋智  阅读(23)  评论(0)    收藏  举报