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

相关推荐
小胖红2 天前
Xcode 打包失败 处理
ide·macos·xcode
1024小神2 天前
Vscode/Cursor中的Prettier插件格式化降级操作
ide·vscode·编辑器
102400242 天前
vscode无法选择conda虚拟环境下的解释器
ide·vscode·conda
凯子坚持 c2 天前
在 Visual Studio 2019 中配置 Qt 插件开发环境:编译原理 + 底层逻辑解析
ide·qt·visual studio
好大哥呀2 天前
常见的IDE有哪些?
ide
热爱生活的五柒2 天前
配置vscode的ssh离线部署,但是Stable-cmmit-id一直会后面添加个staging这个后缀将文件名修改
ide·vscode·ssh
Uncertainty!!2 天前
pycharm本地Failed to open X display(exiting)
ide·python·pycharm
勇往直前plus2 天前
解决:pycharm运行程序时出现Run ‘python tests for XXX.py‘的问题
ide·python·pycharm
hbstream海之滨视频网络技术2 天前
国内三大AI编程IDE对比(一):直观印象与模型能力
ide·ai编程
寂寞旅行2 天前
IDEA 中使用 claude code 插件
java·ide·intellij-idea