

这个警告严重吗?
- 不严重:代码能正常编译、运行。
- 但有潜在风险 :如果你在方法里把某个参数设为
null返回,而调用方以为它"肯定不为 null"(因为父类契约是非空),就可能 NPE。 - 主要是为了工具链友好:比如 Kotlin 调用 Java 时,或者用 SpotBugs / ErrorProne 做静态分析时,能更准确推断空值。
怎么解决?(两种主流做法)
方法一:忽略它(最常见)
绝大多数 Java 项目其实不用管这个警告,尤其是纯 Java 且不用 Kotlin 的项目。
你可以在 IDEA 里:
- 把光标放在警告处 → 按
Alt + Enter→ 选择 "Suppress for method"; - 或者全局关闭:
Settings > Editor > Inspections > JVM languages > @NonNull/@Nullable problems。
方法二:显式加上注解
只需要在方法的参数上添加@NonNull注解即可(注意:是org.springframework.lang.NonNull,不要导入错了)
