快速辅助执行本地代码变换。它们是针对 Java 编辑器中的所选内容或单个光标调用的,并且与快速修正使用相同的快捷键(Ctrl+1)。但是,当周围有错误时,快速辅助通常是隐藏的。(要在发生错误时也显示快速辅助,请在按 Ctrl+1 之前选择目标)。
可以对直接快捷键指定一组快速辅助。缺省情况下,这些快捷键是:
在
常规 > 键首选项页上指定更多快捷键或更改缺省快捷键(在“源”类别中)。
可以在
Java > 编辑器首选项页上打开快速辅助灯泡。
名称 | 代码示例 | 调用位置 | ||
---|---|---|---|---|
反转 if 语句 | if (x) a(); else b(); |
> | if (!x) b(); else a(); |
在带有“else”块的“if”语句上 |
反转布尔表达式 | a &&
!b |
> | !a || b |
在布尔表达式上 |
除去多余的圆括号 | if ((a == b)
&& (c != d) {} |
> | if (a == b && c !=
d) {} |
在选择的表达式上 |
添加圆括号 | if (a == b
&& c != d) {} |
> | if ((a == b) && (c != d) |
在选择的表达式上 |
连接嵌套的 if 语句 | if (a) { if (b) {} } |
> | if (a
&& b) {} |
在嵌套的 if 语句上 |
交换嵌套的 if 语句 | if (a) { if (b) {} } |
> | if (b) { if (a) {} } |
在嵌套的 if 语句上 |
分割带有“与”表达式的 if 语句 | if (a
&& b) {} |
> | if (a) { if (b) {} } |
在“if”语句中的“与”表达式上 |
分割带有“或”表达式的 if 语句 | if (a || b)
x(); |
> | if (a) x(); if (b) x(); |
在“if”语句中的“或”表达式上 |
反转条件表达式 | x ? b : c |
> | !x ? c : b |
在条件表达式上 |
将否定上拉 | b && c |
> | !(!b || !c) |
在布尔表达式上 |
将否定下推 | !(b
&& c) |
> | !b || !c |
在求反的布尔表达式上 |
If-else 赋值转化为条件表达式 | if (a) x= 1;
else x= 2; |
> | x= a ? 1 : 2; |
在“if”语句上 |
If-else 返回转化为条件表达式 | if (a) return
1; |
> | return a ? 1 : 2; |
在“if”语句上 |
条件表达式赋值转化为 If-else | x= a ? 1 : 2; |
> | if (a) x= 1; else x= 2; |
在条件表达式上 |
条件表达式返回转化为 If-else | return
a ? 1 : 2; |
> | if (a) return 1; else return 2; |
在条件表达式上 |
Switch 到 If-else | switch (kind) {
|
> | if (kind == 1) {
|
在 switch 语句上 |
交换操作数 | a + b
|
> | b + a |
在中缀操作上 |
强制类型转换和赋值 | if (obj
instanceof Vector) { |
> | if (obj
instanceof Vector) { } |
在“if”或“while”语句中的 instanceof 表达式上 |
挑选字符串 | "abcdefgh" |
> | "abc" + "de" + "fgh" |
选择字符串文字的一部分 |
分割变量 | int i= 0;
|
> | int i; i= 0; |
在设定了初值的变量上 |
连接变量 | int i; i= 0; |
> | int i= 0 |
在未设定初值的变量上 |
给变量赋值 | foo()
|
> | X x= foo(); |
在表达式语句上 |
抽取到局部变量 | foo(getColor()); |
> | Color color= getColor();
|
在表达式上 |
将参数赋予字段 | public A(int
color) {}
|
> | Color fColor; |
在参数上 |
添加 finally 块 | try { |
> | try { |
在 try/catch 语句上 |
添加 else 块 | if (a) b();
|
> | if (a) b(); else { } |
在 if 语句上 |
用块替换语句 | f (a) b();
|
> | if (a) { b(); } |
在 if 语句上 |
反转等号 | a.equals(b)
|
> | b.equals(a) |
在“equals”的调用上 |
用于创建数组的数组初始化方法 | int[]
i= { 1, 2, 3 } |
> | int[] i= new int[] { 1, 2, 3 } |
在数组初始化方法上 |
转换为“增强的 for 循环”(J2SE 5.0) | for (Iterator
i= c.iterator();i.hasNext();) { |
> | for (x : c) { |
在 for 循环上 |
在超类中创建方法 |
|
|
在方法声明上 | |
打开块 | { a() }
|
> | a() |
在 if/while/for 语句的块上 |
在文件中重命名 |
|
|
在标识上 |