Eclipse 具有@NonNullByDefault
注释,它将所有值视为@NonNull
除非您明确地将它们注释为@Nullable
.
IntelliJ IDEA 中是否有等效选项,还是必须始终使用@Nonnull
?
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
请注意,这已经在 Early Access Program (EAP) 版本中实现。
不,IDEA 目前不支持。
作为证明,请参阅 lena 关于开放功能请求的链接,以允许 'NotNull' 作为给定类或包的默认元素行为。
也许类似的特性会成为JSR-305 的标准,其中可能包括@ParametersAreNonnullByDefault
注解和相反的注解@ParametersAreNullableByDefault
。请注意,与 相比@NonNullByDefault
,这两个注释未涵盖返回值。因此,您仍然必须显式地注释返回值。
但是,所有这些都不会改变当前状态。JSR-305 既没有成为标准,IDEA 也没有实现它。