![Java核心技术·卷Ⅱ:高级特性(原书第10版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/937/34339937/b_34339937.jpg)
上QQ阅读APP看书,第一时间看更新
1.7.2 不适合使用Optional值的方式
如果没有正确地使用Optional值,那么相比较以往的得到“某物或null”的方式,你并没有得到任何好处。
get方法会在Optional值存在的情况下获得其中包装的元素,或者在不存在的情况下抛出一个NoSuchElementException对象。因此,
![](https://epubservercos.yuewen.com/F21227/18365861501241106/epubprivate/OEBPS/Images/012-i.jpg?sign=1739594794-NJyaqLsT0UnDu2UcXzATiwHGL0DKqriy-0-e55037d9a8bf96aa8df4034d6b7d7468)
并不比下面的方式更安全:
![](https://epubservercos.yuewen.com/F21227/18365861501241106/epubprivate/OEBPS/Images/012-2-i.jpg?sign=1739594794-sU2TjS3G05W4ZotNH4g9PIzMi7Z3GSlb-0-11b9dcd74ce19846847c6a19b429c6d9)
isPresent方法会报告某个Optional<T>对象是否具有一个值。但是
![](https://epubservercos.yuewen.com/F21227/18365861501241106/epubprivate/OEBPS/Images/012-3-i.jpg?sign=1739594794-Lk3qEnfDhRbE6pAbYQEmLuVK24EXwIZz-0-eef5f84205fc5ea626ed497747ac3513)
并不比下面的方式更容易处理:
java.util.Optional 8
·T get()
产生这个Optional的值,或者在该Optional为空时,抛出一个NoSuchElementException对象。
·boolean isPresent()
如果该Optional不为空,则返回true。