IntelliJ IDEA提取函数变量
IntelliJ IDEA 可以让你提取一个函数类型变量。
这个重构为 Java 1.8 及更高版本创建了一个函数表达式,并为旧版本的 Java 创建了一个匿名类。
提取功能变量示例
提取功能变量重构前:
import java.util.List;
public class PrintAction implements Runnable {
private List<String> data;
public PrintAction(List<String> data) {
this.data = data;
}
public void run() {
System.out.println("Data: " + data.toString());
}
}
提取功能变量重构后:
import java.util.List;
import java.util.function.Function;
public class PrintAction implements Runnable {
private List<String> data;
public PrintAction(List<String> data) {
this.data = data;
}
public void run() {
Function<List<String>, String> presenter = (p) -> "Data: " + p.toString();
System.out.println(presenter.apply(data));
}
}
提取函数变量
- 在本例中选择代码片段,println 方法的一个参数。
- 在主菜单中选择:重构| 提取| 函数变量。IntelliJ IDEA 打开 "提取函数变量" 对话框。
- 当选择的代码依赖于实例字段时 (如示例中所示),将会出现 "将字段作为参数传递" 复选框,并且您可以在字段的位置中传递一个形参。
- 从弹出窗口中选择适用的功能界面。
- 如果你想,如果你不想使用列表中建议的名字,改变解压变量的名字。
因此,IntelliJ IDEA 会创建一个您可以继续使用的 lambda。
另见函数参数重构。