java.util.Optional
是JDK8中引入的类,它是JDK从著名的Java工具包Guava
中移植过来。本文编写的时候使用的是JDK11。Optional
是一个包含了NULL
值或者非NULL
值的对象容器,它常用作明确表明没有结果(其实明确表明存在结果也可以用Optional
表示)的方法返回类型,这样可以避免NULL
值带来的可能的异常(一般是NullPointerException
)。也就是说,一个方法的返回值类型是Optional
,则应该避免返回NULL
,而应该让返回值指向一个包含NULL
对象的Optional
实例。Optional
的出现为NULL
判断、过滤操作、映射操作等提供了函数式适配入口,它算是Java引入函数式编程的一个重要的里程碑。
本文新增一个Asciidoc
的预览模式,可以体验一下Spring
官方文档的感觉: