IntelliJ IDEA提取常量

2018-11-06 11:32 更新

提取常量重構(gòu)是提取字段重構(gòu)的一個(gè)特例,目的是提供一種快速、方便的方法來創(chuàng)建最終的靜態(tài)字段。

提取常量重構(gòu)實(shí)例

提取常量重構(gòu)之前:

public class Class {
     public void method() {
          String string = "string";
          ArrayList list = new ArrayList();
          list.add(string);
          anotherMethod(string);
          ...
          }
    }

提取常量重構(gòu)之后:

public class Class {
        @NonNls
        private static final String STRING ="string";
        public void method() {
          ArrayList list = new ArrayList();
          list.add(STRING);
          anotherMethod(STRING);
          ...
        }
}

提取Java常量

該 IntelliJ IDEA 默認(rèn)啟用就地重構(gòu)。所以,如果你沒有改變這個(gè)設(shè)置,則 Java 的提取常量重構(gòu)將在編輯器中就地執(zhí)行。

  1. 將光標(biāo)置于變量的表達(dá)式或聲明中,將其替換為常量。
  2. 執(zhí)行以下任一操作:
    • 按 Ctrl+Alt+C。
    • 在主菜單或上下文菜單上選擇:重構(gòu)| 提取| 常量(Refactor | Extract | Constant)。
  3. 如果檢測到當(dāng)前光標(biāo)位置有多個(gè)表達(dá)式,則會顯示 "表達(dá)式" 列表。如果是這種情況,請選擇所需的表達(dá)式。為此,請單擊表達(dá)式?;蛘?,使用向上和向下箭頭鍵導(dǎo)航到感興趣的表達(dá)式,然后按 Enter 來選擇它。
    IntelliJ IDEA提取常量
  4. 如果在類中發(fā)現(xiàn)了多個(gè)表達(dá)式,請指定是只替換選定的事件,還是只用新的常量替代所找到的所有實(shí)例。
  5. 如果您想要在其他類中定義常量,請選中 "移動到其他類" 復(fù)選框。
  6. 如有必要,請更改新常量的類型。

    要移至該類型,請按 Shift+Tab。然后,從列表中選擇所需的類型,或在帶有紅色邊框的框中編輯類型。

    現(xiàn)在,要返回到常數(shù)名稱,請按 Tab。

  7. 指定常量的名稱。從列表中選擇名稱,或在帶有紅色邊框的框中鍵入名稱。
    IntelliJ IDEA
  8. 要完成重構(gòu),請按 Tab 或 Enter。

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

  9. 如果已選擇將常量定義移動到其他類,請?jiān)?"移動成員" 對話框中指定關(guān)聯(lián)的設(shè)置。

使用對話框提取常量

如果在編輯器設(shè)置中清除了 "啟用就地重構(gòu)" 復(fù)選框,則通過 "提取常量" 對話框來執(zhí)行 "提取常量"。

IntelliJ IDEA

您也可以從意向行為下拉菜單中調(diào)用重構(gòu):

IntelliJ IDEA

  1. 如果您正在使用 Java 代碼,請確保在編輯器設(shè)置中啟用適當(dāng)?shù)闹貥?gòu)選項(xiàng)已關(guān)閉。(默認(rèn)情況下,執(zhí)行 Java 的提取常量重構(gòu)是就地執(zhí)行的)。
  2. 在編輯器中,選擇要用常量替換的表達(dá)式或變量,或者將光標(biāo)放在這樣的表達(dá)式或變量聲明中。
  3. 在主菜單或上下文菜單中,選擇:重構(gòu)| 提取常量(Refactor | Extract Constant),或按 Ctrl+Alt+C。
  4. 在表達(dá)式彈出菜單中,選擇要替換的表達(dá)式。請注意,IntelliJ IDEA 在編輯器中突出顯示所選表達(dá)式。
  5. 在“提取常數(shù)”對話框中打開:
    1. 指定新常數(shù)的名稱。
    2. 選擇常量將被引入的類。如果您選擇這里的enum類,請使用引入 enum 常量選項(xiàng)來指定常量是enum常數(shù)還是常用字段。
    3. 在可見性區(qū)域,選擇新常量的可見性范圍。
    4. 如果新常量將替換現(xiàn)有變量,則可以選擇刪除相應(yīng)的變量聲明。要做到這一點(diǎn),使用“Delete 變量聲明”復(fù)選框。
    5. 要替換所選表達(dá)式的所有出現(xiàn)(如果在類中多次找到所選表達(dá)式),請選擇“替換所有出現(xiàn)的”復(fù)選框。
    6. 在配置使用注釋的項(xiàng)目中,您可以將 String 類型的常量注釋為@NonNls以防止在可能的本地化過程中更改它。為此,請選擇注釋字段為 @nonnls 的選項(xiàng)。
    7. 點(diǎn)擊“確定”。
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號