java8之----Optional取代null

来源:互联网 发布:java输出个数的空格 编辑:程序博客网 时间:2024/05/22 03:53

java8之—-Optional取代null

小结:

  • null在历史上被引入到程序设计语言中,目的是为了表示变量值的缺失.

  • Java 8中引入了一个新的类 java.util.Optional ,对存在或缺失的变量值进行建模。

  • 你可以使用静态工厂 Optional.empty(), Optional.of(),Optional.ofNullable 创建Optional对象.

  • Optional类支持多种方法,如: map,flatMap,filter,他们在概念上与Stream中对应的方法十分相似.

  • 使用Optional能是你更积极的解引用Optional对象,以应对变量值缺失的问题.最终你能更有效的防止代码中出现不期而至的异常.

  • 使用 Optional 能帮助你设计更好的API,用户只需要阅读方法签名,就能了解该方法是否接受一个 Optional 类型的值

注意到Optional和Stream的那些相似之处了吗? 他们都是对数据库查询过程的反思,查询时,多种会被串接在一起执行.