IntelliJ IDEA 2026.1 Help

コンストラクターをビルダーに置換

コンストラクターをビルダーに置換 リファクタリングは、コンストラクターを非表示にし、その使用箇所を新しく生成されたビルダークラスまたは既存のビルダークラスへの参照に置き換えるのに役立ちます。

  1. エディターのコンストラクター呼び出しにキャレットを置き、 Alt+Enter を押します。

  2. 利用可能なコンテキストアクションのリストから、 コンストラクターをビルダーに置換 を選択します。

    コンストラクターをビルダーに置換
  3. 開いたダイアログで、必要に応じて、提案された setter 名を変更します。 ビルダーで生成されたフィールドを初期化するかどうかを指定します。

    コンストラクター呼び出しでパラメーター値と一致する初期値を指定する場合、 Optional の 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(); } }

コンストラクターをビルダーに置換するダイアログ

このダイアログを使用して、 コンストラクターをビルダーに置換 リファクタリングのオプションを指定します。

項目

説明

ビルダーに渡すパラメーター

パラメーター

この列には、コンストラクターで検出されたパラメーターのリストが表示されます。これらはビルダーフィールドに置き換えられます。

フィールド名

この編集可能な列には、ビルダー内の推奨フィールド名のリストが表示されます。

setter 名

この編集可能な列には、ビルダー内の推奨 setter 名のリストが表示されます。

デフォルト値

この編集可能な列を使用して、フィールドをデフォルト値で初期化します。

Optional の setter

フィールドの指定されたデフォルト値がコンストラクター呼び出しのパラメーター値と一致する場合、このチェックボックスを選択すると、ビルダー呼び出しでこのフィールドの setter メソッドが省略されます。 このチェックボックスが選択されていない場合は、対応する setter メソッドが表示されます。

ビルダーの名前と場所

新規作成

このオプションをクリックすると、指定された名前と宛先パッケージを使用して新しいビルダークラスが生成されます。

ビルダークラス名

この編集可能なフィールドには、生成される新しいビルダークラスの推奨名が表示されます。 デフォルトの提案を受け入れるか、新しい名前を入力することができます。

新規ビルダーのパッケージ

宛先パッケージの名前を入力するか、参照ボタンをクリックして 宛先パッケージの選択 ダイアログで探します。 必要なパッケージが存在しない場合は、 をクリックして新しいパッケージを作成します。

既存の使用

既存のビルダークラスを指定するには、このオプションをクリックします。

ビルダークラス名

ここで、プロジェクト内にすでに存在するビルダークラスの完全修飾名を入力するか、参照ボタンをクリックして名前またはプロジェクトツリービューで検索します。

2026 年 3 月 30 日