消除Intellij IDEA的Not annotated parameter overrides @NonNullApi parameter警告

这个警告严重吗?

  • 不严重:代码能正常编译、运行。
  • 但有潜在风险 :如果你在方法里把某个参数设为 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,不要导入错了)

相关推荐
kite01211 天前
TraeCode 与 TraeWork 合并:AI 时代 IDE 的三种形态与未来开发工具
ide·ade·traework·traecode
weixin_461769401 天前
VS Code 中创建 Jupyter 文件(.ipynb)
ide·python·jupyter
浪潮IT馆1 天前
Android Studio 非最新版本下载安装教程
android·ide·android studio
慧都小项2 天前
组件改名,引用同步更新:WebStorm的重构能力用在哪里?
ide·重构·webstorm
*wait for?3 天前
VScode使用uv-创建python虚拟环境
ide·vscode·编辑器
MandalaO_O4 天前
IDEA 开发(快捷键 + 调试 + 序列化)
java·ide·intellij-idea
golang学习记5 天前
VSCode AI完成任务的仪式感:撒礼花
ide·vscode·编辑器
1024奇点6 天前
【仓颉语言入门 · 第26课】
开发语言·ide·开源
golang学习记6 天前
VSCode AI新特性:HydraFusion来了:系统会自己组队干活
ide·人工智能·vscode
文祐7 天前
下载Visual Studio 2017 Build Tools version 15.9
ide·visual studio