IntelliJ IDEA提取字段

2018-11-06 11:34 更新

IntelliJ IDEA 提取字段重構(gòu)聲明一個(gè)新的字段并用選定的表達(dá)式初始化它。原始表達(dá)式被替換為字段的用法。

提取字段重構(gòu)示例

示例-1

提取字段重構(gòu)前:

public class Class {
    AnotherClass anotherClass;
    public void method() {
        int a = 1;
        ...
        int b = a + anotherClass.intValue();
        int c = b + anotherClass.intValue();
    }
}

提取字段重構(gòu)后:

public class Class {
    public AnotherClass anotherClass;
    private int number;
    public Class() {
        number = anotherClass.intValue();
    }
    public void method() {
        int a = 1;
        ...
        int b = a + number;
        int c = b + number;
    }
}

示例-2

提取字段重構(gòu)前:

public class Class {
    AnotherClass anotherClass;

    public void method() {
        int a = anotherClass.innerClass.i;
        int b = anotherClass.innerClass.j;
    }
}

提取重構(gòu)字段后:

public class Class {
    public AnotherClass anotherClass;
    private AnotherClass.InnerClass aClass = anotherClass.innerClass;
    public void method() {
        int a = aClass.i;
        int b = aClass.j;
    }
}

在原地提取字段

默認(rèn)情況下,在 IntelliJ IDEA 中啟用了就地重構(gòu)。所以,如果你沒(méi)有改變這個(gè)設(shè)置,那么將在編輯器中對(duì)引入的字段重構(gòu)進(jìn)行就地重構(gòu):

  1. 將光標(biāo)置于變量的表達(dá)式或聲明中,并用字段替換。
  2. 執(zhí)行以下任一操作:
    • 按 Ctrl+Alt+F。
    • 在主菜單或上下文菜單上選擇:重構(gòu)|引入字段(Refactor | Introduce Field)。
  3. 如果檢測(cè)到當(dāng)前光標(biāo)位置有多個(gè)表達(dá)式,表達(dá)式列表就會(huì)出現(xiàn)。如果是這種情況,請(qǐng)選擇所需的表達(dá)式。為此,請(qǐng)單擊表達(dá)式。或者,使用向上和向下箭頭鍵導(dǎo)航到感興趣的表達(dá)式,然后按 Enter 來(lái)選擇它。
    IntelliJ IDEA
  4. 如果在類中發(fā)現(xiàn)了多個(gè)表達(dá)式,請(qǐng)指定您是否希望只替換所選的事件,或者將所有發(fā)現(xiàn)的事件替換為新的常量:
  5. 如有必要,請(qǐng)更改新字段的類型。

    要移至該類型,請(qǐng)按 Shift+Tab。然后,從列表中選擇所需的類型,或者在帶有讀取邊框的框中編輯類型。

    現(xiàn)在,要移回字段名稱,請(qǐng)按 Tab。

  6. 如果相關(guān),則指定新字段將在何處初始化 - 在當(dāng)前方法中還是在類構(gòu)造器中。
  7. 指定字段的名稱。從列表中選擇名稱,或者在帶有紅色邊框的框中鍵入名稱。
    IntelliJ IDEA提取字段
  8. 要完成重構(gòu),請(qǐng)按 Tab 或 Enter。

    如果您還沒(méi)有完成重構(gòu)并想要取消所做的更改,請(qǐng)按 Escape。

    請(qǐng)注意,有時(shí)您可能需要多次按下相應(yīng)的按鍵。

    IntelliJ IDEA提取字段

使用對(duì)話框提取字段

如果在編輯器設(shè)置中清除了 "啟用就地重構(gòu)" 復(fù)選框,則將通過(guò) "引入" 字段來(lái)執(zhí)行 "提取字段"。

IntelliJ IDEA提取字段

  1. 在編輯器中,選擇要用字段替換的表達(dá)式或變量,或者將光標(biāo)放在這樣的表達(dá)式或變量聲明中。
  2. 在主菜單或選擇的上下文菜單中,選擇:重構(gòu)| 提取| 字段(Refactor | Extract | Field),或按 Ctrl+Alt+F。
  3. 在表達(dá)式彈出菜單中,選擇要替換的表達(dá)式。請(qǐng)注意,IntelliJ IDEA 在編輯器中突出顯示所選表達(dá)式。
  4. 在打開(kāi)的提取字段對(duì)話框中:
    • 從類型列表字段中選擇新字段的類型。
    • 指定字段的名稱。
    • 在初始化過(guò)程中選擇必要的選項(xiàng)以指定初始化新字段的位置。
    • 在可見(jiàn)性區(qū)域,為新字段選擇可見(jiàn)性范圍。
    • 如果您想要聲明新字段final,請(qǐng)選擇“聲明 final(Declare final)”復(fù)選框。
    • 如果新字段要替換現(xiàn)有變量,則可以選擇刪除相應(yīng)的變量聲明。要做到這一點(diǎn),使用“Delete 變量聲明”復(fù)選框。
    • 要替換所選表達(dá)式的所有出現(xiàn)(如果在類中多次找到所選表達(dá)式),請(qǐng)選擇替換所有出現(xiàn)的復(fù)選框。
    • 點(diǎn)擊“確定”。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)