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

我想在我的项目中使用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视为断言.

相关文章

这篇文章主要介绍了idea中mapper快速跳转到xml插件的方法,具...
今天小编给大家分享的是IDEA搭建Maven模块化项目的实现方法,...
这篇文章主要介绍了ideaintellij怎么快速修复if语句缺少大括...
这篇文章主要介绍“idea运行main方法或Test避免编译整个应用...
这篇文章主要介绍“idea项目全局去掉严格的语法校验方式是什...
本文小编为大家详细介绍“Windows、IDEA、VSCode常用快捷键有...