更新时间:2024-04-12 GMT+08:00
分享

引入功能变量

此重构允许将选定的表达式转换为新的函数类型变量或匿名类。

执行重构

  1. 在代码编辑器中,选择要转换为函数变量的表达式。
  2. 在主菜单或编辑器上下文菜单中,选择Refactor>Introduce Functional Variable
  3. 在打开的Introduce Functional Variable对话框中,选择Pass fields as params,以使实例字段作为参数传递到创建的函数表达式。

  4. 单击 Refactor以应用重构。

示例

例如,让我们将表达式“Data”+ data.toString()提取到函数变量中。

重构前

import java.util.List;

class PrintAction implements Runnable {
    private List<String> data;

    public PrintAction(List<String> data) {
        this.data = data;
    }

    @Override
    public void run() {
        System.out.println("Data" + data.toString());
    }
}

重构后

import java.util.List;
import java.util.function.Function;

class PrintAction implements Runnable {
    private List<String> data;

    public PrintAction(List<String> data) {
        this.data = data;
    }

    @Override
    public void run() {
        Function<List<String>, String> listStringFunction = data -> "Data" + data.toString();
        System.out.println(listStringFunction.apply(data));
    }
}

相关文档