@NonNull @org.jetbrains.annotations.NotNull 报红
方法一:可以解决报红问题但是不美观
在build.gradle中添加以下代码
compile 'com.intellij:annotations:+@jar'
方法二:在setting(设置)中搜索nullable
在Probable bugs 中选择@NotNull@Nullable
在@NotNull@Nullable 右下角选项中选择配置注释
在弹出的Nullable和NotNull注解中同时选择androidx开头的代码
@NotNull与@NonNull使用笔记
@NotNull 一般作用在单独变量上,表示该变量不能为空。一般配合@validation使用,当被@NotNull修饰的变量的值为空时则会抛出错误。
@NotNull在使用时需要对应配置pom文件(maven)
<dependency>
<groupId>org.jetbrains</groupId>
<artifactId>annotations</artifactId>
<version>20.1.0</version>
</dependency>
在写代码时发现了@NonNull,与@NotNull看起来非常类似,因而怀着好奇心查询了一些资料
@NotNull 是 JSR303(Bean的校验框架)的注解,用于运行时检查一个属性是否为空,如果为空则不合法。
@NonNull 是JSR 305(缺陷检查框架)的注解,是告诉编译器这个域不可能为空,当代码检查有空值时会给出一个风险警告,目前这个注解只有IDEA支持。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。