kev*_*rpe 7 java annotations nullable
当javax.annotation.Nullable用于将方法标记为"潜在返回null值"时,在何处放置@Nullable注释?在方法上,还是返回类型?
是否有任何技术差异,或者这是一个严格的风格问题?
风格A:
@Nullable
public Object blah() { ... }
Run Code Online (Sandbox Code Playgroud)
风格B:
public @Nullable Object blah() { ... }
Run Code Online (Sandbox Code Playgroud)
mer*_*nst 13
这完全是一种风格问题.
无论您在源代码中何处编写注释,注释实际上都在方法上.这是因为@Target定义的元注释javax.annotation.Nullable,它使javax.annotation.Nullable方法注释.您可以在任一位置编写注释,因为Java语言规范语法允许方法注释穿插方法修饰符,例如public.
我认为在返回类型之前放置注释更清楚.毕竟,它是非null的返回类型.说方法本身是非空的是没有意义的.
在返回类型之前放置注释还有另一个重要的好处:您的代码与Nullable定义为类型注释的版本兼容.类型注释是在Java 8中引入的.它们比方法注释更具表现力,它们可以实现更强大的检查.例如,NullableEclipse和Checker Framework支持的注释是类型注释.
| 归档时间: |
|
| 查看次数: |
9663 次 |
| 最近记录: |