IntelliJ IDEA 2026.1 Help

仲介人の除去

仲介人の除去リファクタリングでは、クラス内の委託メソッドへのすべての呼び出しを、委託されるフィールドへの直接呼び出しに置き換えることができます。 さらに、今後使用されない委託メソッドのクラスを自動的に削除できます。

このリファクタリングは、クラスのメソッド呼び出しの多くを他のクラスのオブジェクトに転送するだけで、デザインを簡素化したい場合に便利です。

Additional Java Refactoringsプラグインをインストール

この機能は、インストールして有効にする必要がある 追加の Java リファクタリング(英語)プラグインに依存しています。

  1. Ctrl+Alt+S を押して設定を開き、 プラグイン を選択します。

  2. Marketplace タブを開き、 追加の Java リファクタリングプラグインを見つけて、 インストール をクリックします (プロンプトが表示されたら、IDE を再起動します)。

仲介人の除去リファクタリングを実行

  1. エディターで問題のクラスを開き、委譲フィールドの名前にキャレットを置きます。

  2. メインまたはコンテキストメニューで、 リファクタリング | 仲介人の除去 を選択します。

  3. 表示されたダイアログで、インライン化するメソッドを選択します。

    仲介人の除去リファクタリング
  4. 変更をプレビューして適用する

サンプル

// File Foo.java public class Foo { Bar bar; public Foo getImpValue() { return bar.getImpValue(); } } // File Bar.java public class Bar { private Foo impValue1; public Bar(Foo impValue) { impValue1 = impValue; } public Foo getImpValue() { return impValue1; } } // File Client.java public class Client { Foo a; Foo impValue = a.getImpValue(); }
// File Foo.java public class Foo { Bar bar; public Bar getbar() { return bar; } } // File Bar.java public class Bar { private Foo impValue1; public Bar(Foo impValue) { impValue1 = impValue; } public Foo getImpValue(){ return impValue1; } } // File Client.java public class Client { Foo a; Foo impValue = a.getbar().getImpValue(); }
2026 年 3 月 30 日