Optional

Posted lccsblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Optional相关的知识,希望对你有一定的参考价值。

1.永远不要通过返回Optinoal的方法返回null,因为它彻底违反了optional的本意

2.optional本质上是一个不可变的集合,最多只能存放一个元素。Optional<T>没有实现Collection<T>接口,但原则上是可以的。

3.optional本质上与受检异常相类似,因为它们强迫api用户面对没有返回值的现实。

4.并非所有的返回类型都受益于optional的处理方法。容器类型包括集合,映射,Stream,数组和optional,都不应该被包装在optional中。不要返回空的Optional<List<T>>,而应只返回一个空的List<T>。返回空的容器可以让客户端免于处理一个optional。

5.永远不应该返回基本包装类型的optional。

6.几乎永远都不适合用optional作为键,值,或者集合或者数组中的元素。

7.应当注意到与返回optional相关的真实的性能影响,对于注重性能的方法,最好还是返回一个null,或者抛出异常。

8.尽量不要将optional用作返回值之外的任何其他用途

以上是关于Optional的主要内容,如果未能解决你的问题,请参考以下文章

JDK8中新增的Optional工具类真的很好用哦,建议收藏

JDK8中新增的Optional工具类真的很好用哦,建议收藏

Java8新特性Lambda表达式&Stream流&方法引用最全集锦