llms.txt: machine-readable documentation index. Markdown version of this page is also available.

IntelliJ IDEA 2026.3 Help

将构造函数替换为构建器

将构造函数替换为构建器 重构可帮助隐藏构造函数,将其用法替换为对新生成的构建器类或现有构建器类的引用。

  1. 请将文本光标放在编辑器中的构造函数调用处,然后按 Alt+Enter。

  2. 从可用的上下文操作列表中选择 将构造函数替换为构建器。

    将构造函数替换为构建器
  3. 在打开的对话框中,如果需要,修改建议的 setter 名称。 指定您是否要在构建器中初始化生成的字段。

    如果指定的初始值与构造函数调用中的形参值匹配,则可以通过选中 可选 Setter 复选框来跳过此类形参的 setter 方法。 还可以指定是创建新的构建器,还是使用现有构建器。

  4. 预览并应用更改。

示例

之前

之后

// UIConstraint.java public class UIConstraint { private int gridX; private int gridY; private int gridWidth; private int gridHeight; private double weightX; private double weightY; UIConstraint(int gridX, int gridY, int gridWidth, int gridHeight, double weightX, double weightY) { this.gridX = gridX; this.gridY = gridY; this.gridWidth = gridWidth; this.gridHeight = gridHeight; this.weightX = weightX; this.weightY = weightY; } }
// UIConstraint.java (unchanged) public class UIConstraint { private int gridX; private int gridY; private int gridWidth; private int gridHeight; private double weightX; private double weightY; UIConstraint(int gridX, int gridY, int gridWidth, int gridHeight, double weightX, double weightY) { this.gridX = gridX; this.gridY = gridY; this.gridWidth = gridWidth; this.gridHeight = gridHeight; this.weightX = weightX; this.weightY = weightY; } } // UIConstraintBuilder.java public class UIConstraintBuilder { private int gridX = 0; private int gridY = 0; private int gridWidth = 1; private int gridHeight = 1; private double weightX = 0.0; private double weightY = 0.0; public UIConstraintBuilder setGridX(int gridX) { this.gridX = gridX; return this; } public UIConstraintBuilder setGridY(int gridY) { this.gridY = gridY; return this; } public UIConstraintBuilder setGridWidth(int gridWidth) { this.gridWidth = gridWidth; return this; } public UIConstraintBuilder setGridHeight(int gridHeight) { this.gridHeight = gridHeight; return this; } public UIConstraintBuilder setWeightX(double weightX) { this.weightX = weightX; return this; } public UIConstraintBuilder setWeightY(double weightY) { this.weightY = weightY; return this; } public UIConstraint createUIConstraint() { return new UIConstraint(gridX, gridY, gridWidth, gridHeight, weightX, weightY); } } // Test.java public class Test { public void main(String[] args) { // Default values are used for omitted fields final UIConstraint uiConstraint = new UIConstraintBuilder() .setGridWidth(2) .setWeightY(1.0) .createUIConstraint(); } }

将构造函数替换为生成器对话框

请使用此对话框指定 将构造函数替换为构建器 重构的选项。

条目

描述

要传递给构建器的形参

形参

此列显示在构造函数中检测到的参数列表,这些参数将被替换为 builder 字段。

字段名称

此可编辑列显示了构建器中建议的字段名列表。

Setter 名称

此可编辑列显示了构建器中建议的 setter 名称列表。

默认值

使用此可编辑的列来初始化字段的默认值。

可选 Setter

如果字段的指定默认值与构造函数调用中的形参值匹配,则选中此复选框会在构建器调用中省略该字段的 setter 方法。 如果未选中此复选框,则仍会显示相应的 setter 方法。

构建器名称及位置

新建

请点击此选项以生成新的构建器类,指定名称和目标包。

构建器类名

此可编辑字段显示要生成的新构建器类的建议名称。 可以接受默认建议,也可以输入新名称。

新构建器的包

输入目标软件包的名称,或点击浏览按钮并在 选择目标包 对话框中定位该软件包。 如果所需软件包不存在,请点击 创建一个新的软件包。

使用现有

点击此选项以指定现有的 builder 类。

构建器类名

在此输入项目中已存在的构建器类的完全限定名称,或点击浏览按钮,通过名称或在项目树视图中查找它。

2026年 11月 3日