快速修正套件

Java 編輯器會提供鍵入時和編譯後所發現之問題的更正方法。若要顯示可用於解決問題或警告的更正提議, 您將可在編輯器的附註列上看到「燈泡」。
以滑鼠左鍵按一下燈泡,或呼叫 Ctrl+1(編輯/快速修正)將在游標位置上啟動用於解決問題的提議。
快速修正選項對話框

下列是可用的快速修正:

套件宣告
  • 新增遺漏的套件宣告或正確的套件宣告
  • 將編譯單元移至對應於套件宣告的套件
匯入項目
  • 移除未用、無法解析或看不到的匯入項目
  • 匯入項目中的問題呼叫「組織匯入」
類型
  • 建立新類別或介面,來參照無法解析的類型
  • 變更已存取但看不到之類型的可見性
  • 重新命名為類似的類型,以參照無法解析的類型
  • 新增無法解析但存在於專案的類型 import 陳述式類型
  • 新增明確的 import 陳述式給意義不清的類型參照(有兩個同類型的 import-on-demand)
  • 如果類型名稱與編譯單元名稱不符,請重新命名類型或重新命名編譯單元
  • 移除未用的 private 類型
建構子
  • 建立新的建構子以參照無法解析的建構子(this、super 或 new 類別建立)
  • 重新排序或移除使參數不符之建構子參照的引數
  • 將具有建構子名稱的方法變更為建構子(移除傳回類型)
  • 變更已存取但看不到之建構子的可見性
  • 移除未用的 private 建構子
  • 當隱含的預設建構子的超呼叫未加以定義、看不到或擲出異常狀況時,就會建立建構子
  • 如果類型含有未實作的方法,請將類型修飾元變更為 'abstract',或新增要實作的方法
方法
  • 建立新方法以參照無法解析的方法
  • 重新命名為類似的方法,以參照無法解析的方法
  • 重新排序或移除使參數不符之方法參照的引數
  • 更正參照方法的存取權(可見性、static)
  • 移除未用的 private 方法
  • 更正有遺漏傳回類型或其傳回類型不符 return 陳述式之方法的傳回類型
  • 如果遺漏的話,新增 return 陳述式
  • 對於沒有內文之非 abstract 方法,變更為 'abstract' 或新增內文
  • 對於非 abstract 類型中的 abstract 方法,請移除方法的 abstract 修飾元,或使類型成為 abstract
  • 對於具有內文的 abstract/native 方法,請移除 abstract 或 native 修飾元,或移除內文
  • 如果是在建構子呼叫內呼叫方法 (super, this),請將方法存取權變更為 'static',
  • 將方法存取權變更為預設存取權以避免模擬的方法存取權
欄位和變數
  • 更正參照欄位的存取權(可見性、static)
  • 建立新的欄位、參數或區域變數,以參照無法解析的變數
  • 重新命名為一個具有無法解析之參照的類似名稱的變數
  • 移除未用的 private 欄位
  • 更正 Static 欄位的非 Static 存取權
  • 新增 'final' 修飾元至已在外部類型中存取的區域變數
  • 將欄位存取權變更為預設存取權,以避免模擬的方法存取權
  • 變更區域變數類型以修正類型不符的情況
  • 起始設定未起始設定的變數
異常狀況處理
  • 移除不需要的 catch 區塊
  • 藉由以 try/catch 包覆或新增 catch 區塊至包覆的 try 區塊,來處理未捕捉到的異常狀況
  • 藉由新增擲出宣告至母項方法,或將現有的擲出宣告一般化,來處理未捕捉到的異常狀況
其他
  • 新增強制轉型或變更強制轉型以修正類型不符的情況
  • 對於非 NLS 字串,開啟 NLS 精靈或標示為非 NLS

即使沒有問題或警告,「快速輔助」也是可用的提議:沒有顯示燈泡,所以使用者必須知道可用的輔助。

快速輔助
  • 將 catch 子句換成母項方法上的擲出宣告
  • 將表示式陳述式轉換成至新區域或新欄位的指派方式
  • 移除圍繞的 'if'、'for'、'while'、'do' 陳述式
  • 移除以單一 catch 或 finally 區塊圍繞的 try 區塊
  • 移除圍繞的匿名類別、區塊或圓括號
  • 在已鏈結 '範本' 模式中,對類型、方法或變數進行區域重新命名
  • 以範本包覆所選取的行 (''if', 'while'..)

相關概念
Java 編輯器

相關參照
JDT 動作

Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.