加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – IntelliJ IDEA抱怨@NotNull参数的空检查

发布时间:2020-12-15 00:42:32 所属栏目:Java 来源:网络整理
导读:我想在我的项目中使用Jetbrains @ Nullable / @NotNull Annotations. 我有一个带有@NotNull字段的类.构造函数自然不接受null,而是抛出异常.当然,这个构造函数的参数也可以用@NotNull注释. 为什么IntelliJ IDEA会抱怨空检?文件说明: An element annotated w
我想在我的项目中使用Jetbrains @ Nullable / @NotNull Annotations.

我有一个带有@NotNull字段的类.构造函数自然不接受null,而是抛出异常.当然,这个构造函数的参数也可以用@NotNull注释.

为什么IntelliJ IDEA会抱怨空检?文件说明:

An element annotated with NotNull claims null value is forbidden to return (for methods),pass to (parameters) and hold (local variables and fields).

但是我仍然必须在运行时检查空值,以防构建系统不理解Annotation并接受像new Car(null)这样的语句.我错了吗?

解决方法

如果使用JetBrains @NotNull注释,运行时断言将被添加到已编译的字节码中,以保证null不会在那里传递.那么在源代码中编写相同的检查是没有意义的.这种方法对我们很有效.

如果您使用其他注释或者只是不想检测字节码,可以通过按Alt Enter键,“编辑检查设置”并选中“忽略断言语句”来禁用此特定警告.这些条件语句被IDE视为断言.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读