标签:适合 optional 包括 实现 容器 数组 stream 没有 原则
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 包括 实现 容器 数组 stream 没有 原则
原文地址:https://www.cnblogs.com/lccsblog/p/11306235.html