標籤:枚舉
枚舉類enum是JDK1.5引入的,之前都是用public static final int enum_value來代替枚舉類的。枚舉類enum是一種特殊的類,它預設繼承了類java.lang.Enum。和其它普通類一樣,enum同樣可以有成員變數、方法、構造器,也可以實現一個或多個介面,區別是:
- 如果有構造器,必須用private修飾。
- 枚舉類不能派生子類。
- 枚舉類所有的執行個體必須在第一行顯示定義。系統會自動給這些執行個體加上public static final修飾,無須程式員顯示定義。
- 枚舉類預設提供了values()方法,方便遍曆所有的枚舉值
enum中的方法(Enum提供的方法):
public final int compareTo(E o) 比較相同類型的枚舉值
public final int ordinal() 返回枚舉的索引值,第一個枚舉值從零開始。
public final String name() 返回枚舉執行個體名稱
public String toString() 返回枚舉產量名稱
交通燈執行個體
public enum TrafficLight { RED("紅"), YELLOW("黃"), GREEN("綠"); private String name; private TrafficLight(String name) { this.name = name; } public String getName() { return name; } public void jude(TrafficLight light) { switch (light) { case RED: System.out.println("stop"); break; case YELLOW: System.out.println("go"); break; case GREEN: System.out.println("wait"); break; default: break; } } public static void main(String[] args) { for (TrafficLight e : TrafficLight.values()) { System.out.println(e.name()); } }}
Java枚舉類enum詳解