关于java:IDEA中有@NonNullByDefault注解吗?

Is there a @NonNullByDefault annotation in IDEA?

Eclipse 有 @NonNullByDefault 注释,它将所有值视为 @NonNull 除非您明确地将它们注释为 @Nullable.

IntelliJ IDEA 中是否有等效选项,还是必须始终使用 @NonNull


Idea 版本 14 将支持 JSR 305 "@TypeQualifierDefault" 注释,它允许用户创建自定义注释,用于 package-info.java 文件中的包声明,指定该包中的所有内容(不仅是参数,还包括方法返回值、局部变量等)将被隐式注释为不允许空值。

不幸的是,这不会(当前)递归地影响子包,因此每个子包也必须有一个 package-info.java 文件,声明该子包使用注释。

详细信息和使用示例请参见此处:

http://youtrack.jetbrains.com/issue/IDEA-125281

请注意,这已在早期访问计划 (EAP) 版本中实现。


不,IDEA 目前不支持。

作为证明,请参阅 lena 的关于开放功能请求的链接,以允许 \\'NotNull\\' 作为给定类或包的默认元素行为。

也许类似的特性将成为 JSR-305 的标准,其中可能包括 @ParametersAreNonnullByDefault 注释以及相反的注释 @ParametersAreNullableByDefault。请注意,与 @NonNullByDefault 相比,这两个注释不包含返回值。因此,您仍然必须显式地注释返回值。

不过,所有这些都不会改变当前状态。 JSR-305 既没有成为标准,IDEA 也没有实现它。