Java 中的常量是指程序中不可改變的值,而枚舉類型(enum)是一種特殊的常量類型。枚舉類型是Java 1.5及其以上版本引入的新特性,用于表示一組有限的值。
public enum Season { SPRING, SUMMER, FALL, WINTER; }
上面的代碼定義了一個(gè)枚舉類型 Season,其中 SPRING、SUMMER、FALL、WINTER 都是該枚舉類型的常量。與常量一樣,枚舉類型中的值也是不可變的。
使用枚舉類型可以使代碼更加清晰、簡(jiǎn)潔,這也是為什么在Java中推薦使用枚舉類型代替常量的主要原因之一。在使用枚舉類型時(shí),可以通過(guò) switch 語(yǔ)句對(duì)枚舉類型進(jìn)行判斷:
Season season = Season.SUMMER; switch(season) { case SPRING: System.out.println("春天"); break; case SUMMER: System.out.println("夏天"); break; case FALL: System.out.println("秋天"); break; case WINTER: System.out.println("冬天"); break; }
除了上述代碼中的 switch 語(yǔ)句,還可以像下面這樣使用枚舉類型:
// 遍歷枚舉類型的所有值 for(Season s : Season.values()) { System.out.println(s); } // 獲取枚舉類型中的某個(gè)值 Season s = Season.valueOf("SPRING"); System.out.println(s);
總之,Java 的枚舉類型是一種非常有用的特性,可以用來(lái)表示一組有限的值,與常量相比,代碼更加簡(jiǎn)潔、清晰。