在具有可空返回类型的方法上将@Nullable放在哪里?

当使用javax.annotation.Nullable将方法标记为“潜在的返回null值”,其中把@Nullable注释?在方法上还是返回类型?

有什么技术差异,还是严格说来是样式问题?

@Nullable

public Object blah() { ... }

public @Nullable Object blah() { ... }

回答:

严格来说,这是一个样式问题。

无论您在源代码中的何处编写注释,注释实际上都在方法上。这是因为@Target对的定义进行了元注释javax.annotation.Nullable,从而使javax.annotation.Nullable方法成为注释。您可以在任何位置编写注释,因为Java语言规范语法允许方法注释中插入方法修饰符,例如public

我认为将批注放置在返回类型之前更加清晰。毕竟,返回类型为非null。说一个方法本身是非空的没有意义。

在返回类型之前放置注释还有另一个重要的好处:您的代码与Nullable定义为类型注释的版本兼容。类型注释是Java

8中引入的。它们比方法注释更具表现力,并且可以进行更强大的检查。例如,NullableEclipse和Checker

Framework支持的注释是类型注释。

以上是 在具有可空返回类型的方法上将@Nullable放在哪里? 的全部内容, 来源链接: utcz.com/qa/407787.html

回到顶部