一、 Java中的null
在java中,使用null
表示引用的默认值(null
是Java中的关键字)。引用在声明的时候不指向任何实例,此时值为null
。
|
|
除此之外,在找不到对应资源的时候,除了抛异常,还可能返回null
。
例如在java.util.HashMap#get
中,
了解更多
关于
null
的更多信息:Java中有关Null的9件事
综上几点,可以说null
无处不在,因此导致到处需要判空操作 or 处理空指针异常(NullPointerException)。
二、 Optional是怎样处理null
值的?
业务中,我们可能有这样的场景:
一个Map:
然后获取嵌套Map中的某个值:
Or
|
|
总是不如Groovy等一些编程语言自带的安全的属性/方法访问操作符。
user?.getUsername()?.toUpperCase();
使用Optional处理NullPointerException,可以达到类似的效果:
到此为止,最有用的特性之一已经讲完了。
三、 Optional其他方法
除java.util.Optional#map
之外,还有java.util.Optional#flatMap
。