Guava可选作为可选参数的方法参数

Guava可选作为可选参数的方法参数,第1张

Guava可选作为可选参数方法参数

您对此方案的用法有何建议?

避免。避免。避免。

虽然

Optional
是一个 很好的替代
null
,在Java中,你会总是与它是一个结束了 糟糕的除了
代替。正如Seelenvirtuose所写,在三种可能性中,您只需要两种。就像JB
Nizet所写的那样,最好将它用作返回值,以使调用者想起所需的检查。作为方法参数,它没有任何帮助。

理想情况下,可选参数应该像

getBooks(String catalogId, String categoryId = null)

这不是有效的Java。AFAIK C ++编译器将其转换为两种方法

getBooks(String catalogId, String categoryId)getBooks(String catalogId)

您必须自己用Java编写。省略参数是明确表明它是可选的最清晰的方法。将可选参数标记

@Nullable
为几乎是一样的。使用可空性检查工具可以帮助您避免使用NPE(这是的主要参数
Optional
)。

重要的是一致性。您的班级之间的一致性就在您手中。与JDK的一致性意味着

null
至少在可预见的将来(
Optional
可能有一天JDK 8
会使用)使用。



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

原文地址: http://outofmemory.cn/zaji/5490094.html

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

发表评论

登录后才能评论

评论列表(0条)

保存