Eclipse具有@NonNullByDefault
注释,除非您明确注释为@NonNull
,否则会将所有值视为@Nullable
。
IntelliJ IDEA中是否有等效选项,或者您是否必须始终使用@Nonnull
?
答案 0 :(得分:7)
Idea 14将包括对JSR 305" @ TypeQualifierDefault"的支持。注释,允许用户创建自定义注释,用于package-info.java文件中的包声明,指定该包中的所有内容(不仅包括参数,还包括方法返回值,局部变量等)。 )将被隐式注释为不允许空值。
不幸的是,这并没有(当前)递归地影响子包,所以每个子包也必须有一个package-info.java文件,声明该子包使用注释。
请参阅此处了解详情和使用示例:
http://youtrack.jetbrains.com/issue/IDEA-125281
请注意,这已在早期访问计划(EAP)版本中实现。
答案 1 :(得分:3)
不,IDEA目前不支持。
作为证据,请参阅lena关于向allow 'NotNull' as the default element behavior for a given class or package打开功能请求的链接。
也许类似的功能会成为JSR-305的标准功能,其中可能包含@ParametersAreNonnullByDefault
注释以及相反的注释@ParametersAreNullableByDefault
。请注意,与@NonNullByDefault
相比,这两个注释不包含返回值。因此,您仍然需要明确地注释返回值。
但是,所有这些都不会改变现状。 JSR-305也没有成为标准,IDEA也没有实现它。