IntelliJ IDEA教程
IntelliJ IDEA的一般准则
IntelliJ IDEA编辑器
IntelliJ IDEA高级编辑程序
IDEA使用Subversion集成
IntelliJ IDEA提取重构
IntelliJ IDEA插件

IntelliJ IDEA提取函数变量

IntelliJ IDEA 可以让你提取一个函数类型变量。

这个重构为 Java 1.8 及更高版本创建了一个函数表达式,并为旧版本的 Java 创建了一个匿名类。

提取功能变量示例

提取功能变量重构前:

import java.util.List;
public class PrintAction implements Runnable {
    private List data;

    public PrintAction(List 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 data;
    public PrintAction(List data) {
        this.data = data;
    }
    public void run() {
        Function, String> presenter = (p) -> "Data: " + p.toString();
        System.out.println(presenter.apply(data));
    }
}

提取函数变量

⒈ 在本例中选择代码片段,println 方法的一个参数。

⒉ 在主菜单中选择:重构| 提取| 函数变量。IntelliJ IDEA 打开 "提取函数变量" 对话框。

⒊ 当选择的代码依赖于实例字段时 (如示例中所示),将会出现 "将字段作为参数传递" 复选框,并且您可以在字段的位置中传递一个形参。

但是,例如,如果您选择的代码片段取决于任何本地变量或参数

相应的条目将出现在列表中。

当您取消选择对话框中的某个参数时,将使用相应的本地。

配置您的选项,然后单击“确定”。

⒋ 从弹出窗口中选择适用的功能界面。

⒌ 如果你想,如果你不想使用列表中建议的名字,改变解压变量的名字。

因此,IntelliJ IDEA 会创建一个您可以继续使用的 lambda。