Eclipse有
在IntelliJ IDEA中是否有等效选项,还是必须始终使用
@NonNullByDefault
注释,它将所有值视为@NonNull
,除非您将其显式注释为@Nullable
。在IntelliJ IDEA中是否有等效选项,还是必须始终使用
@Nonnull
?@NonNullByDefault
注释,它将所有值视为@NonNull
,除非您将其显式注释为@Nullable
。@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也没有实现它。
@Nonnull
吗(JSR 305)? IDEA 可以使用@NotNull
,但这是一个不同的注释。 - fge@Nullable
注释。但这是一个政策问题... - fge@NonNullByDefault
。因此,我的问题是是否可以配置IDEA来模拟Eclipse的空值分析。@NonNullByDefault
似乎是棘手的部分。 - Philipp Claßen