Java如何导入@NonNull类 Windows下Alt+Enter无导入提示解决方案
@NonNull注解无法通过Alt+Enter导入的配置步骤
核心原因
出现该问题通常是两种情况:项目未引入@NonNull注解所属的依赖,或是IDE未配置识别对应非空注解,导致快捷键无法匹配到可导入的类。
具体操作步骤
1. 为项目引入@NonNull对应依赖
@NonNull存在于多个常用注解包中,根据项目类型选一个引入即可,禁止同时引入多个包的同名注解避免冲突:
- 普通Java项目(JetBrains官方注解)
Maven项目在pom.xml添加依赖:
Gradle项目在build.gradle添加依赖:<dependency> <groupId>org.jetbrains</groupId> <artifactId>annotations</artifactId> <version>24.1.0</version> </dependency>
注:该包下非空注解名为implementation 'org.jetbrains:annotations:24.1.0'@NotNull,若要使用@NonNull命名的注解可选择下面两种依赖 - Android项目(AndroidX官方注解)
在模块级build.gradle添加依赖:implementation 'androidx.annotation:annotation:1.8.0' - 需配合自动空指针校验逻辑(Lombok)
引入Lombok依赖即可使用其自带的@NonNull注解,注解生效时会自动生成参数空判断代码。
2. 配置IDE非空注解识别规则
你之前查阅的英文设置路径对应中文路径为:设置 > 构建、执行、部署 > 编译器,在此基础上继续完成配置:
- 进入编译器分类下的
非空检查配置页(英文对应Nullability目录) - 在默认非空注解下拉选项中,选择你第一步引入的对应非空注解全类名;如果下拉列表中没有目标注解,手动点击添加按钮,输入对应注解的全类名加入识别列表
- 进入
设置 > 编辑器 > 意图配置页,搜索添加@NonNull注解,确认该意图项为勾选启用状态
3. 验证导入效果
回到代码编辑页,将光标放在标红的@NonNull注解上,按下Windows环境默认快捷键Alt+Enter,即可出现对应注解的导入提示,选择后IDE会自动生成import语句,示例代码导入后效果如下:
import androidx.annotation.NonNull; // 以AndroidX注解为例,根据你选的依赖生成对应import private Toaster(@NonNull Context context) { weakReference = new WeakReference<>(context); } public static Toaster getInstance(@NonNull Context context) { if (toaster == null) { toaster = new Toaster(context.getApplicationContext()); } return toaster; }
提示:如果配置完成后仍无提示,可执行
文件 > 使缓存失效并重启操作,重启IDE后等待索引重建完成再试。
内容的提问来源于stack exchange,提问作者Aniket Jain
相关产品推荐
相关产品推荐

