消除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,不要导入错了)

相关推荐
Peter·Pan爱编程3 小时前
第六篇:VS Code + Continue 插件:开源爱好者的低成本高自由度方案
ide·开源·ai编程
Thanks_ks5 小时前
【第 002 讲】Python 标准开发环境搭建:运行环境 | 环境变量 | IDE 部署 | 配置优化
ide·python·pycharm·开发工具·环境配置·环境变量·编程基础
白云LDC13 小时前
Android Studio新建Vecter asset一直显示Loading icons(转圈圈)的解决办法
android·ide·android studio
An_s14 小时前
编辑器AI工具(vscode+claude)
ide·vscode·编辑器
secondyoung20 小时前
VSCode设置显示空白字符
ide·vscode·编辑器
迷路爸爸1801 天前
VSCode / Cursor 中 LaTeX Workshop 的 settings.json 配置:编译与 SyncTeX 跳转
ide·vscode·json·latex
Lhan.zzZ2 天前
笔记_2026.4.28_004
c++·ide·笔记·qt
一帘忧梦2 天前
vscode 搭建stm32开发环境 +HAL 库
ide·vscode·编辑器
独隅3 天前
Visual Studio 2026 详细安装教程和配置指南
ide·visual studio
lifewange3 天前
Pycharm和IDEA中安装Cursor的方法
ide·pycharm·intellij-idea