第10章 用Optional取代null
通过编译器的自动检测机制,确保所有使用引用的地方安全,但null除外,用来表示不存在的值。
Java为了兼容以前的语言,以及使用上方便,也使用了null,导致了java中最常见的异常NullPointerException。
10.1 如何为缺失的值建模
10.2 Optional类入门
10.3 应用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的出现;

浙公网安备 33010602011771号