Alt+Enter可精准修复代码问题:①光标停在红色类名上回车自动导入;②对空指针警告添加@Nullable/@NotNull注解或忽略;③将单方法匿名类一键转Lambda表达式。

当你在IntelliJ IDEA中写代码时,光标停在红色波浪线下方,按下Alt+Enter就能立刻看到修复建议——但实际操作中常因选项太多、含义不清或误选而修错地方。本教程带你精准触发、识别并执行最常用的Alt+Enter修复动作,覆盖未引入类、空指针隐患、Lambda简化等真实高频场景。
快速导入缺失的类
把光标放在报红的类名上(比如ArrayList),按Alt+Enter,弹出菜单第一项通常是“Add import for 'ArrayList'”。
确认该项被高亮后直接回车,IDEA自动在文件顶部插入import java.util.ArrayList;语句。这一步不能用鼠标点,否则可能误触其他选项;【必须用方向键或回车确认,避免点击导致光标跳转】。
如果当前类里已存在同名类(如自己写的ArrayList),IDEA会列出全部候选,此时需用↑↓键仔细核对包路径再回车。
消除空指针警告(@Nullable/@NotNull)
方法参数或返回值旁出现黄色波浪线并提示“May be null”,说明IDEA检测到潜在空指针风险。
方法一:光标停在参数名上→Alt+Enter→选择“Add @Nullable annotation”→回车,自动生成注解。
方法二:若你确定该值绝不会为空,选“Add @NotNull annotation”,同时IDEA会自动帮你添加非空校验逻辑(如Objects.requireNonNull(arg)),这步会修改原代码,【改动不可逆,执行前请确认业务逻辑允许强制校验】。
方法三:不想加注解也不愿加校验?Alt+Enter后选“Suppress for method”可临时忽略警告,仅在当前方法生效,不污染全局配置。
将匿名内部类转为Lambda表达式
当代码中出现类似new Runnable() { public void run() { ... } }结构时,光标停在new关键字上,Alt+Enter会弹出“Replace with lambda”选项。
第一步:确认该匿名类只实现单个抽象方法(这是Lambda前提);
第二步:选中“Replace with lambda”并回车;
第三步:IDEA自动重写为()->{...}格式,同时删掉冗余的接口名和方法声明。如果方法体只有一行,还会进一步简化成()->doSomething()。这一步会删除原始缩进和换行,若你依赖特定排版,建议先Ctrl+Z撤回再手动调整。


















