这两个注解在idea里面可以帮助我们检测方法的返回值,方法参数以及局部变量是否为空,从而帮助我们减少一些NPE的发生。

 

1. 原始注解

@NotNull @Nullable最开始只能使用idea提供的一个jetBrains java annotation的jar包下的注解。maven坐标:

​https://mvnrepository.com/artifact/org.jetbrains/annotations​

全类名:

import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

当然后来,idea提供了其他注解的替代方案,后面会介绍。

 

2. idea配置

Preference》Inspections》Java》Probable Bugs》@NotNull/@Nullable Problems

【Java】idea @NotNull @Nullable 注解_@NotNull

需要在左侧勾选@NotNull/@Nullable Problems,idea才会打开检测功能。

 

3. 配置其他注解

如果我们不想使用idea的注解,可以配置其他jar包的替代注解,此时需要点击右下角的Configure annotations。

【Java】idea @NotNull @Nullable 注解_java_02

添加相应的替代注解即可。

比方说javax包的@Nonnull和@Nullable注解。

 

4. 编码

其实这个功能一般用于方法签名和方法调用。

方法返回值

@Nullable:对方法的调用没有判空会被提示。

@Notnull:方法如果可能返回null会被提示。

方法参数:

@Nullable:对参数直接使用没有判空会被提示。

@Notnull:调用时传入的参数可能为null会被提示。