仲介人の除去
仲介人の除去リファクタリングでは、クラス内の委託メソッドへのすべての呼び出しを、委託されるフィールドへの直接呼び出しに置き換えることができます。 さらに、今後使用されない委託メソッドのクラスを自動的に削除できます。
このリファクタリングは、クラスのメソッド呼び出しの多くを他のクラスのオブジェクトに転送するだけで、デザインを簡素化したい場合に便利です。
Additional Java Refactoringsプラグインをインストール
この機能は、インストールして有効にする必要がある 追加の Java リファクタリング(英語)プラグインに依存しています。
Ctrl+Alt+S を押して設定を開き、 を選択します。
Marketplace タブを開き、 追加の Java リファクタリングプラグインを見つけて、 インストール をクリックします (プロンプトが表示されたら、IDE を再起動します)。
仲介人の除去リファクタリングを実行
エディターで問題のクラスを開き、委譲フィールドの名前にキャレットを置きます。
メインまたはコンテキストメニューで、 を選択します。
表示されたダイアログで、インライン化するメソッドを選択します。

サンプル
前 | 後 |
|---|---|
// 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 日