J2SE 5.0 (Tiger)的發布是Java語言發展史上的一個重要的裡程碑, 是迄今為止在 Java 編程方面所取得的最大進步.
J2SE 5.0提供了很多令人激動的特性.這些特性包括范型(generics)的支持, 枚舉類型 (enumeration)的支持, 元數據(metadata)的支持, 自動拆箱(unboxing)/裝箱 (autoboxing), 可變個數參數(varargs), 靜態導入(static imports), 以及新的線程架 構(Thread framework).
隨著J2SE 5.0的推出, 越來越多的集成開發環境(IDE)支持J2SE 5.0的開發. 著名的開 源Java IDE Eclipse從3.1M4開始支持J2SE 5.0的開發, 目前最新的版本是3.1RC4.
本系列將介紹J2SE 5.0中三個比較重要的特性: 枚舉類型, 注釋類型, 范型, 並在此 基礎上介紹在如何在Eclipse 3.1開發環境中開發枚舉類型, 注釋類型和范型應用.本文將 介紹枚舉類型.
1. 枚舉類型
1.1枚舉類型簡介
J2SE 5.0 以及之前的JDK有兩種基本方法可以來定義新類型:通過Classes 以及 Interface. 對於大部分面向對象編程來說,這兩種方法看起來似乎足夠了.但是在一些特 殊情況下,這些方法就不適合.例如,我們想定義一個類型 Priority, 它只能接受 High, Medium, Low 三種值. 其他任何值都是非法的.J2SE 5.0 以前的JDK是可以構造這 種類型的,但是需要做很多工作,有可能會帶來如不安全(類型安全性問題???)等潛在問 題,而J2SE 5.0的枚舉類型(Enum) 能避免這些問題.
Eclipse 是Java程序員最常用的開發平台,而Eclipse 3.1提供對J2SE 5.0的支持,它 為J2SE 5.0的新功能提供了幫助工具.在對枚舉類型的支持上,它不僅提供了枚舉類型的 創建模板,而且為枚舉類型的各種開發錯誤提供錯誤提示及幫助修改.
本文首先介紹枚舉類型的創建基本概念以及如何在Eclipse 3.1平台上創建枚舉類型, 然後我們通過在Eclipse 3.1開發環境中的例子來說明枚舉類型的應用.
1.2 創建枚舉類型
下面的例子顯示了如何創建一個最基本的枚舉類型:
清單 1. 枚舉類型的定義
public enum Priority {High, Medium, Low };
它包括一個關鍵字enum ,一個新枚舉類型的名字 Priority 以及為Priority定義的 一組值.
在Eclipse 3.1平台上,按照下面步驟來生成枚舉類型:(Eclipse 3.1提供了一個新的 枚舉類型創建向導(wizard)以方便用戶創建枚舉類型)
1) File->New->Other, 模板列表顯示出來.
2) 在模板列表上選中 Java->Enum, 點擊 Next 按鈕
3) 按圖 1填寫每一個域 如下:
圖 1: Eclipse 3.1 枚舉類型創建模板