public enum MyEnum {
Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday;
public static void main(String[] args) {
MyEnum mye = MyEnum.Sunday;
MyEnum mye1 = MyEnum.Monday;
// 1. ordinal():宣告順序索引(從 0 開始)
System.out.println(mye.ordinal()); // 6
System.out.println(mye1.ordinal()); // 0
// 2. name() / toString():常數名稱
System.out.println(mye); // Sunday
System.out.println(mye.name()); // Sunday
// 3. values():取得所有常數陣列
MyEnum mye2 = MyEnum.values()[1]; // Tuesday
MyEnum mye3 = MyEnum.values()[2]; // Wednesday
System.out.println(mye2);
System.out.println(mye3);
// 4. equals():比較是否同一常數
System.out.println(MyEnum.Monday.equals(MyEnum.Monday)); // true
// 5. 遍歷所有常數
System.out.println(MyEnum.values().length); // 7
for (MyEnum e : MyEnum.values()) {
System.out.println(e);
}
}
}
6 0 Sunday Sunday Tuesday Wednesday true 7 Monday Tuesday Wednesday Thursday Friday Saturday Sunday
enum Color { RED(0xFF0000), GREEN(0x00FF00); private int rgb; Color(int rgb){this.rgb=rgb;} public int getRgb(){return rgb;} }implements 介面,每個常數可覆寫方法(多態)。switch(day) { case Monday: ... } 編譯器優化為查表跳轉。enum Singleton { INSTANCE; }(防反射/序列化破壞)。if-else 鏈。枚舉是 Java 5 引入的強大特性,善用它能讓代碼更安全、清晰、高效。