快速修正

Java 编辑器提供了对输入时和编译后发现的问题的更正。为了显示有可用于问题或警告的更正建议,编辑器的注释栏将显示“灯泡”。

左键单击灯泡或调用 Ctrl+1(编辑 > 快速修正)将在光标位置处显示对问题的建议。
当在建议窗口中被选中时,每个快速修正都将显示预览。

还可以对某些选择的快速修正指定快捷键。您可以在键首选项页面上配置这些快捷键。

快速修正选择对话框

提供了下列快速修正:

包声明
  • 添加丢失的包声明或更正包声明
  • 将编译单元移至与包声明相对应的包
导入
  • 除去未使用的、不可解析的或不可视的导入
  • 对于导入中的问题调用“组织导入”
类型
  • 为对无法解析的类型的引用创建新类、接口、枚举、注释或类型变量
  • 更改所访问的但是不可视的类型的可视性
  • 对于不能解析的类型的引用,重命名为相似类型
  • 对于不能解析但却存在于项目中的类型,添加 import 语句
  • 对于歧义类型引用,添加显式的 import 语句(同一类型的两个按要求导入)
  • 如果类型名与编译单元名不匹配,则重命名类型或重命名编译单元
  • 除去未使用的专用类型
构造函数
  • 对于对不能解析的构造函数的引用,创建新的构造函数(创建 this、super 或 new 类)
  • 对于参数不匹配的构造函数引用,重新排序、添加或除去自变量
  • 将具有构造函数名的方法更改为构造函数(除去返回类型)
  • 更改所访问的但是不可视的构造函数的可视性
  • 除去未使用的私有构造函数
  • 当对隐式缺省构造函数的超调用未定义、不可视或抛出异常时,创建构造函数
  • 如果类型包含未实现的方法,则将类型修饰符更改为“抽象”或添加要实现的方法
方法
  • 对于对不能解析的方法的引用,创建新方法
  • 对于对不能解析的方法的引用,重命名为相似方法
  • 对于参数不匹配的方法引用,重新排序或除去自变量
  • 更正所引用的方法的访问(可视性和静态)
  • 除去未使用的私有方法
  • 对于缺少返回类型或返回类型与返回语句不匹配的方法,更正返回类型
  • 如果缺少返回语句,则添加它
  • 对于不具有主体的非抽象方法,更改为“抽象”或添加主体
  • 对于非抽象类型中的抽象方法,除去方法的“抽象”修饰符或使类型为“抽象”类型
  • 对于带有主体的抽象/本机方法,除去抽象或本机修饰符或除去主体
  • 如果在构造函数调用内调用方法,则将方法访问更改为“静态”(super 和 this)
  • 将方法访问更改为缺省访问以避免仿真方法访问
字段和变量
  • 更正所引用的字段的访问(可视性和静态)
  • 对于对不能解析的变量的引用,创建新字段、参数、局部变量或常量
  • 对于不能解析的引用,重命名为具有相似名称的变量
  • 除去未使用的私有字段
  • 更正静态字段的非静态访问
  • 对于在外部类型中访问的局部变量,添加“终态”修饰符
  • 将字段访问更改为缺省访问以避免仿真方法访问
  • 更改局部变量类型以修正类型不匹配
  • 初始化尚未初始化的变量
异常处理
  • 除去不需要的 catch 块
  • 通过用 try/catch 括起来或周围的 try 块添加 catch 块来处理未捕获的异常
  • 通过将 throw 声明添加至父方法或通过将现有 throw 声明一般化来处理未捕获的异常
构建路径问题
  • 为无法解析的类型添加缺少的 JAR 或库
  • 对于访问限制问题或缺少二进制类,打开构建路径对话框。
  • 将项目一致性和 JRE 更改为 5.0
  • 将工作空间一致性和 JRE 更改为 5.0
其它
  • 添加强制类型转换或更改强制类型转换以修正类型不匹配
  • 让类型实现接口以修正类型不匹配
  • 对于非 NLS 字符串,打开 NLS 向导或标记为非 NLS
  • 添加缺少的 @Override 和 @Deprecated 注释
  • 使用 @SuppressWarning 消除警告

即使在没有问题或警告时,“快速辅助”也是可用的建议。请参阅快速辅助页面以了解更多信息。

相关概念

Java 编辑器
快速辅助

相关参考

JDT 操作