在StringUtils中返回Optional overkill?

时间:2018-05-16 00:05:50

标签: java java-8 optional

我的项目中有一个自定义的StringUtils类,我想返回Optional,但我注意到在Apache的String Utils中它们没有返回Optional。

一般来说,在StringUtils中返回Optional是否可以?或者这是一种矫枉过正?

1 个答案:

答案 0 :(得分:5)

可选点是指示函数/方法可以没有返回值(即null)。如果这是你的情况,并且返回Optional比返回null更有意义(在我看来大部分时间都是这样),那么继续。

返回null通常很糟糕,因为如果您或其他人忘记将来检查null,它可能会导致意外错误,因此您应该在大多数情况下返回默认值。 Optional为您提供的一个优势是可以通过orElseorElseGet动态确定默认值,并强制您执行此操作以从Optional中取出值,从而阻止大多数NullPointerException s