JSRUN 用代码说话

提取函数变量

编辑教程

提取函数变量

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 打开 "提取函数变量" 对话框。

IntelliJ IDEA

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

IntelliJ IDEA

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

IntelliJ IDEA

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

IntelliJ IDEA

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

IntelliJ IDEA

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

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

IntelliJ IDEA

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

IntelliJ IDEA

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

IntelliJ IDEA

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟