Java 8 getters是否应该返回可选类型?

Java 8 getters是否应该返回可选类型?,第1张

Java 8 getters是否应该返回可选类型

当然,人们会做他们想要的。但是添加此功能时我们确实有明确的意图,并且它并不是通用的Maybe类型,因为许多人希望我们这样做。我们的意图是为库方法返回类型提供一种有限的机制,其中需要一种明确的方法来表示“无结果”,并且使用

null
这种方法极有可能导致错误。

例如,你可能永远不要将其用于返回结果数组或结果列表的东西;而是返回一个空数组或列表。你几乎永远不应将其用作某些内容或方法参数的字段。

我认为,通常将其用作获取方法的返回值肯定会过度使用。

应该避免使用Optional并没有什么错,这并不是很多人希望的那样,因此我们非常担心过度使用的风险。

(公共服务声明:除非你可以证明它永远不会为

null
,否则请不要调用
Optional.get
;而应使用诸如orElse或的安全方法之一
ifPresent
。回想起来,我们应该调用get诸如
getOrElseThrowNoSuchElementException
或之类的东西,使它更加清楚地表明这是一种非常危险的方法这首先破坏了的整个目的
Optional
。经验教训(更新:Java 10具有
Optional.orElseThrow()
,在语义上与等效
get()
,但其名称更合适。)



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5011278.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-14
下一篇2022-11-14

发表评论

登录后才能评论

评论列表(0条)

    保存