更新时间:2025-08-19 GMT+08:00
分享

引入函数式变量

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

执行重构

  1. 在代码编辑器中,选择要转换为函数变量的表达式。
  2. 单击右键展示上下文菜单,选择重构 > 引入函数式变量...
  3. 在打开的引入函数式变量对话框中,选择“将字段作为参数传递”,以使字段作为参数传递到创建的函数表达式。如下图所示:

    图1 引入函数式变量

  4. 单击“重构”以应用重构。

示例

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

重构前

“com\refactoring\source\PrintAction.java”文件内容如下:

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());
    }
}

重构后

“com\refactoring\source\PrintAction.java”文件内容如下:

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));
    }
}

相关文档