型の移行
型移行リファクタリングを使用すると、メンバー型 (整数から文字列など) と、データフローに依存する型エントリ (メソッドの戻り値の型、ローカル変数、パラメーターなど) をプロジェクト全体で自動的に変更できます。
また、変数またはメソッドの戻り値の型を配列とコレクションの間で自動的に変換することもできます。 競合が見つかった場合、IntelliJ IDEA は適切なメッセージを表示します。
エディターで、リファクタリングする型にキャレットをハイライトまたは配置します。
Ctrl+Shift+F6 を押すか、メインメニューで に進みます。
表示されたダイアログで、新しい型と適用範囲を指定するスコープを指定します。
サンプル
f: int -> String
前 | 後 |
|---|---|
int f;
void bar(int i) {}
void foo() {
bar(f);
}
|
String f;
void bar(String i) {}
void foo() {
bar(f);
}
|
I<String> -> I<Integer>
前 | 後 |
|---|---|
interface I<T> {
T foo(T t);
}
class A implements I<String> {
String myString;
public String foo(final String s) {
if (s == null) {
return
myString;
}
return s;
}
}
|
interface I<T> {
T foo(T t);
}
class A implements I<Integer> {
Integer myString;
public Integer foo(final Integer s) {
if (s == null) {
return
myString;
}
return s;
}
}
|
myResult: ArrayList<String> -> String[]
前 | 後 |
|---|---|
public class ResultContainer {
private ArrayList<String> myResult;
public String[] getResult() {
return myResult.toArray(new String[myResult.size()]);
}
}
|
public class ResultContainer {
private String[] myResult;
public String[] getResult() {
return myResult;
}
}
|
型移行ダイアログ
このダイアログは、 型の移行リファクタリングを呼び出すと表示されます。
項目 | 説明 |
|---|---|
移行型 | このリストを使用して新しい型を指定してください。 |
スコープの選択 | このリストを使用して、移行範囲を指定します。 必要に応じて、 参照 |
リファクタリング | このボタンをクリックすると、指定したスコープ内のすべての用途へのリファクタリングが開始されます。 競合が発生した場合は、IntelliJ IDEA から通知されます。 |
プレビュー | 変更するアイテムを参照し、リファクタリングから除外 / 包含し、検出された競合を表示するには、このボタンをクリックします。 |
2026 年 3 月 30 日