9

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

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

4

2 回答 2

8

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

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

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

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

请注意,这已经在 Early Access Program (EAP) 版本中实现。

于 2014-09-15T08:50:42.990 回答
3

不,IDEA 目前不支持。

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

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

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

于 2013-06-05T22:35:04.750 回答