リファクタリング・アクション

「リファクタリング」メニュー・コマンド:

名前

説明

名前変更

選択された要素の名前を変更し、(使用可能になっている場合には) その要素へのすべての参照 (ほかのファイル内のものも含みます) を訂正します。
使用可能: メソッド、メソッド・パラメーター、フィールド、ローカル変数、型、型パラメーター、列挙定数、コンパイル単位、パッケージ、ソース・フォルダー、プロジェクト、およびこれらの要素タイプのいずれかに解決されるテキスト選択
ショートカット: Alt + Shift + R
オプション: 型を名前変更すると、類似の名前付き変数とメソッドの名前変更が可能になります。「型の名前変更」ダイアログ内で「類似の名前付き変数とメソッドの更新」を使用可能にします。 「構成...」を選択して、一致する型名に関する方針を構成します。

パッケージを名前変更すると、そのサブパッケージの名前変更が可能になります。「パッケージ名の変更」ダイアログ内で「サブパッケージの名前変更」を使用可能にします。

移動

選択された要素を移動し、(使用可能になっている場合には) その要素へのすべての参照 (ほかのファイル内のものも含みます) を訂正します。
使用可能: インスタンス・メソッド (コンポーネントに移動可能な)、1 つ以上の静的メソッド、静的フィールド、型、コンパイル単位、パッケージ、ソース・フォルダー、プロジェクト、およびこれらの要素タイプのいずれかに解決されるテキスト選択
ショートカット: Alt + Shift + V
オプション: パッケージ・エクスプローラー内でドラッグ・アンド・ドロップを使用して、このリファクタリングを始動することができます。
メソッド・シグニチャーの変更 パラメーター名、パラメーター型、およびパラメーターの順序を変更し、対応するメソッドへの参照をすべて更新します。さらに、パラメーターを除去または追加でき、メソッド戻り型とその可視性を変更できます。
使用可能: メソッド、またはメソッドに解決されるテキスト選択
オプション: 「メソッド・シグニチャーの変更」ダイアログ内で「変更されたメソッドに対する委譲としてオリジナル・メソッドを保持」を使用可能にして、オリジナル・メソッドを保持します。
メソッドの抽出 現在選択されているステートメントまたは式を含む新しいメソッドを作成し、選択を新しいメソッドへの参照に置換します。このフィーチャーは、長いメソッド、乱雑なメソッド、または非常に複雑なメソッドをクリーンアップするために役立ちます。
使用可能: 編集」メニューから  「選択の展開先」を使用して、有効な選択範囲を取得できます。
ショートカット: Alt + Shift + M
ローカル変数の抽出 現在選択されている式に割り当てられる新規変数を作成し、選択を新規変数への参照に置換します。
使用可能: ローカル変数に解決されるテキスト選択。「編集」メニューから  「選択の展開先」を使用して、有効な選択範囲を取得できます。
ショートカット: Alt + Shift + L
定数の抽出 選択した式から静的 最終フィールドを作成し、フィールド参照を置換します。またオプションで、同じ式がある他の場所に再書き込みします。
使用可能: 定数式または定数式に解決されるテキスト選択
インライン化 ローカル変数、メソッド、または定数をインライン化します。
使用可能: メソッド、static final フィールド、またはローカル変数に解決されるメソッド、static final フィールド、およびテキスト選択
ショートカット: Alt + Shift + I
匿名クラスをネストに変換 匿名内部クラスのメンバー・クラスへの変換
使用可能: 匿名内部クラス
メンバー型をトップレベルに変換 選択したメンバー型に新規 Java コンパイル単位を作成し、必要に応じてすべての参照を更新します。非静的メンバー型の場合、必要に応じて前のエンクロージング・インスタンスにアクセスできるようにフィールドが追加されます。
使用可能: メンバー型、またはメンバー型に解決されるテキスト
ローカル変数をフィールドに変換 ローカル変数をフィールドに変換します。作成時に変数が初期化されると、その初期設定は新規フィールドの宣言またはクラスのコンストラクターに移動します。
使用可能: ローカル変数に解決されるテキスト選択
スーパークラスの抽出 兄弟型のセットから共通のスーパークラスを抽出します。 選択された兄弟型は、リファクタリングの適用の後で、抽出されたスーパークラスの直接のサブクラスになります。
使用可能:
オプション: 「可能な場合に抽出クラスを使用」を使用可能にして、可能な場合は新規に作成されたクラスを使用します。 「使用可能な場合にスーパータイプを使用」を参照してください。
インターフェースの抽出 一連のメソッドを使用して新規インターフェースを作成し、選択したクラスにそのインターフェースをインプリメントさせます。
使用可能:
オプション: 「可能な場合に抽出されたインターフェース型を使用」を使用可能にして、可能な場合には新規に作成されたインターフェースを使用します。 「使用可能な場合にスーパータイプを使用」を参照してください。
使用可能な場合にスーパータイプを使用 この置換が可能な場所をすべて識別した後で、型の出現箇所をそのいずれかのスーパータイプと置き換えます。
使用可能:
プッシュダウン あるクラスからそのサブクラスに、一連のメソッドおよびフィールドを移動させます。
使用可能: 同じ型で宣言された 1 つ以上のメソッドおよびフィールド、あるいはフィールドまたはメソッド内のテキスト選択
プルアップ フィールドまたはメソッドをその宣言しているクラスのスーパークラスに移動させます。メソッドの場合は、そのメソッドをスーパークラスの抽象として宣言します。
使用可能: 同じ型で、あるいはフィールド、メソッド、またはメンバー型内のテキスト選択で宣言された、1 つ以上のメソッド、フィールド、およびメンバー型
間接参照の導入 選択されたメソッドに委譲する静的間接メソッドを作成します。
使用可能: メソッド、またはメソッドに解決されるテキスト選択
オプション: 「すべてのメソッド呼び出しをリダイレクト」を使用可能にして、オリジナル・メソッドに対するすべての呼び出しを間接メソッドに対する呼び出しで置き換えます。
ファクトリーの導入 選択されたコンストラクターを呼び出し、作成されたオブジェクトを戻す、新規ファクトリー・メソッドを作成します。コンストラクターに対するすべての参照は、新規ファクトリー・メソッドに対する呼び出しに置き換えられます。
使用可能: コンストラクター宣言
パラメーターの導入 新規メソッド・パラメーターに対する参照で式を置換し、メソッドのすべての呼び出し元を更新して、式をそのパラメーターの値として渡します。
使用可能: 式に解決されるテキスト選択
フィールドのカプセル化 フィールドへの参照をすべて、取得および設定メソッドに置換します。
使用可能: フィールド、またはフィールドに解決されるテキスト選択
宣言された型の一般化 参照の現在の型のスーパータイプを、ユーザーが選択できるようにします。参照を安全に新規型に変更できる場合は、変更します。
使用可能: 型参照、および参照型のあるフィールド、ローカル変数、およびパラメーターの宣言
総称型引数の推測 この置換が可能な場所をすべて識別した後で、総称型の未加工型の出現箇所をパラメーター化した型で置き換えます。
使用可能: プロジェクト、パッケージ、および型
オプション: 「clone() が受信側の型のインスタンスを戻すと見なします」。正常に動作するクラスは、通常このルールを考慮しますが、コードがこれに違反していることが分かっている場合、チェックを外してください。

「制約のない型の引数を未加工のままにします (<?> と推測しない)」。例えば、ArrayList a の要素に制約がない場合、このボックスのチェックを外すと、Eclipse は、ワイルドカード・パラメーターを引き続き提供し、参照を ArrayList<?> で置き換えます。
JAR ファイルのマイグレーション ワークスペース内のプロジェクトのビルド・パス上の Jar ファイルをより新しいバージョンにマイグレーションします。おそらく、変更の中断を避けるために、新規の Jar ファイル内に保管されたリファクタリング情報を使用する可能性があります。
使用可能: ビルド・パス上の Jar ファイル
スクリプトの作成 ワークスペース内で適用されたリファクタリングのスクリプトを作成します。リファクタリング・スクリプトは、ファイルに保管することも、クリップボードにコピーすることもできます。「スクリプトの適用」を参照してください。
使用可能: 常時
スクリプトの適用 リファクタリング・スクリプトをワークスペース内のプロジェクトに適用します。 リファクタリング・スクリプトは、ファイルからロードすることも、クリップボードからロードすることもできます。「スクリプトの作成」を参照してください。
使用可能: 常時
ヒストリー ワークスペース・リファクタリング・ヒストリーをブラウズして、リファクタリング・ヒストリーからのリファクタリングを削除するためにオプションを提供します。
使用可能: 常時

リファクタリング・コマンドは、多くのビューおよび Java エディターのコンテキスト・メニューからでも使用できます。

関連概念

リファクタリング・サポート

関連参照

リファクタリング・ダイアログ
Java 設定