是否可以用Java Optional
证明返回值不是null
?
Most tools and frameworks只关心参数,但我想用类型表示返回值不是null
(而不是在JavaDoc中这样做)。
UPDATE看起来您可以同意团队使用Optional
作为返回值,如果您想表达可能的null
和直接对象(当它肯定不为空时):
public Optional<Job> getJob() { ... }
public Job extractJob(NonNullJobHolder<Job> holder) { ... }
2条答案
按热度按时间9wbgstp71#
我不知道为什么你会有这样的印象,即它们中的大多数只适用于参数。
@NotNull注解实际上是一个显式契约,声明:
用法:
用法:
因此,您可以在您的方法中随意使用这四种方法中的任何一种。
raogr8fs2#
您可以使用.OrElse()。请参阅以下示例