Item 55: 谨慎返回 Optional 对象

💡 原文约500字/词,阅读约需2分钟。
📝

内容提要

Java 8 引入了 Optional 类,避免了 null 并简化了缺失值的处理。它允许客户端决定在值缺失时该怎么做。实用的方法包括 of()、ofNullable()、orElse()、orElseThrow()、map()、flatMap() 和 filter()。避免在集合中使用 Optional,并考虑性能影响。提供了代码使用示例。

🎯

关键要点

  • Java 8 引入了 Optional 类,避免了 null 并简化了缺失值的处理。
  • Optional 是一个不可变的容器,可以包含一个值或为空。
  • 使用 Optional 可以避免 NullPointerException 和其他与 null 相关的问题。
  • Optional 提供了多种方法,如 of()、ofNullable()、orElse()、orElseThrow()、map()、flatMap() 和 filter()。
  • 避免在集合中使用 Optional,建议返回空集合。
  • 使用 Optional 会有对象分配的性能开销,建议对基本类型使用 OptionalInt、OptionalLong 和 OptionalDouble。
  • 避免将 Optional 用作 Map 的键或值,或作为实例字段,除非在可选 getter 中有意义。
  • 提供了多个代码示例,展示了如何使用 Optional 处理缺失值。
🏷️

标签

➡️

继续阅读