2005 年 6 月,歷經一年開發,Eclipse 基金會釋出 3.1 版——涵蓋核心平台、JDT、PDE 的重大更新。無論您是從舊版升級、從其他 IDE 遷移,或是欲善用 Java 5 (J2SE 5.0) 的泛型、枚舉、自動裝箱等新特性,本教程將帶您全方位體驗 Eclipse 3.1 的創新亮點。
舊版「遲緩」惡名在 3.1 徹底翻盤:記憶體佔用降低、跨平台 (Mac/Win/Linux) 響應提升、各處內建效能監測工具讓退步/進步一目瞭然。圖 1 展示 3.1.1 維護版基準測試結果,官網更提供每日建置版測試數據。
全新上下文敏感動態說明隨任務切換即時更新——從視圖切換到游標移動至特定代碼行,說明視圖皆同步呈現最相關主題(圖 13)。按 F1 或選 Help → Dynamic Help 啟用。
泛型、自動裝箱/拆箱、增強 for 迴圈、註解、枚舉類型等全部支援,且編譯器強化型別安全,減少編譯期/執行期錯誤。
痛點回顧:舊代碼頻繁向下轉型 ((String) map.get(key)),編譯器無法捕捉型別不匹配,運行時才拋出 ClassCastException。
泛型解法:參數化類別實現「嚴格又靈活」——ArrayList<Shape> 限定元素型別,get() 直接回傳 Shape 免轉型。Eclipse 編輯器滑鼠懸停即顯示推導型別(圖 3)。
錯誤偵測與重構:未參數化集合會出現藍燈泡與警告標記(圖 4),建議參數化。更強大的是 Refactor → Infer Generic Type Arguments:一鍵參數化集合並移除迴圈中冗餘轉型(圖 5 預覽),重構器甚至同步處理非泛型代碼區域。
for (Brother b : list) { ... } 取代傳統索引迴圈。Eclipse 內建 fore + Ctrl+Space 模板,依上下文自動推斷目標集合與元素變數名(圖 6)。
Box n = new Box(200); 自動裝箱;int ni = n.get(); 自動拆箱。Eclipse 可於 Preferences → Java → Editor → Syntax Coloring → Auto(un)boxed Expressions 設定粗體/紅色高亮(圖 7、8),編譯器亦可設為 Warning/Error(圖 9 搜尋 "boxing" 快速定位)。
舊式 public static final int GROUCHO = 0; 非型別安全、無命名空間、修改值需重編譯所有依賴模組。J2SE 5.0 enum 解決所有痛點:
public enum Actors {
GROUCHO("What about this sanity clause?"),
CHICO("Everyone knows there ain't no such thing as sanity clause!"),
KARL("Ugh!"), HARPO("Honk! Honk!");
private final String line;
Actors(String s) { this.line = s; }
public String line() { return line; }
}
Eclipse 提供 File → New → Enum 專屬對話框(圖 10),Outline 視圖完美呈舉結構(圖 11),支援比較、序列化、方法與屬性。
@SuppressWarnings("boxing") 消除特定警告;@Deprecated 標記廢棄 API(圖 14)。編輯器輸入 @D + Ctrl+Space 自動補全可用註解,動態說明同步連結至 Javadoc。
General → Keys 設定。Eclipse 3.1 不僅在所有主流作業系統跑得更快,更完整擁抱 J2SE 5.0 的型別安全與表達力,並以動態說明、智慧重構、語法著色等細節打磨開發體驗。搭配 TPTP、WTP 等生態專案,Eclipse 俨然成為涵蓋開發、測試、效能分析、部署監控的全生命週期平台。在 Eclipse 中撰寫 Java 程式,從未如此愉悅高效。