这两个注解在idea里面可以帮助我们检测方法的返回值,方法参数以及局部变量是否为空,从而帮助我们减少一些NPE的发生。
1. 原始注解
@NotNull @Nullable最开始只能使用idea提供的一个jetBrains java annotation的jar包下的注解。maven坐标:
https://mvnrepository.com/artifact/org.jetbrains/annotations
全类名:
当然后来,idea提供了其他注解的替代方案,后面会介绍。
2. idea配置
Preference》Inspections》Java》Probable Bugs》@NotNull/@Nullable Problems
需要在左侧勾选@NotNull/@Nullable Problems,idea才会打开检测功能。
3. 配置其他注解
如果我们不想使用idea的注解,可以配置其他jar包的替代注解,此时需要点击右下角的Configure annotations。
添加相应的替代注解即可。
比方说javax包的@Nonnull和@Nullable注解。
4. 编码
其实这个功能一般用于方法签名和方法调用。
方法返回值
@Nullable:对方法的调用没有判空会被提示。
@Notnull:方法如果可能返回null会被提示。
方法参数:
@Nullable:对参数直接使用没有判空会被提示。
@Notnull:调用时传入的参数可能为null会被提示。