DK1.5引入了新的類型——枚舉。在 Java 中它雖然算個「小」功能,卻給個人開發帶來了「大」方便。 java
在JDK1.5 以前,咱們定義常量都是: publicstaticfianl.... 。如今好了,有了枚舉,能夠把相關的常量分組到一個枚舉類型裏,並且枚舉提供了比常量更多的方法。 ide
JDK1.6以前的switch語句只支持int,char,enum類型,使用枚舉,能讓咱們的代碼可讀性更強。this
若是打算自定義本身的方法,那麼必須在enum實例序列的最後添加一個分號。並且 Java 要求必須先定義 enum 實例。 spa
下面給出一個toString()方法覆蓋的例子。code
全部的枚舉都繼承自java.lang.Enum類。因爲Java 不支持多繼承,因此枚舉對象不能再繼承其餘類。 對象
java.util.EnumSet和java.util.EnumMap是兩個枚舉集合。EnumSet保證集合中的元素不重複;EnumMap中的 key是enum類型,而value則能夠是任意類型。關於這個兩個集合的使用就不在這裏贅述,能夠參考JDK文檔。blog
附枚舉用法實例:繼承
1 public enum DeployEnvironmentEnum { 2 3 product("0", "生產環境"), inner("1", "內部環境"); 4 5 private String type; 6 private String desc; 7 8 DeployEnvironmentEnum(String type, String desc) { 9 this.type = type; 10 this.desc = desc; 11 } 12 13 public String getType() { 14 return this.type; 15 } 16 17 public String getDesc() { 18 return this.desc; 19 } 20 21 22 private static String descs = ""; 23 static { 24 //初始化描述 25 initDescs(); 26 } 27 28 private static void initDescs(){ 29 DeployEnvironmentEnum[] values = DeployEnvironmentEnum.values(); 30 for (DeployEnvironmentEnum environmentEnum: values) { 31 descs += environmentEnum.getType() +" ,"+ environmentEnum.getDesc() + " ;"; 32 } 33 } 34 35 /** 36 * 獲取該枚舉類全部類型描述 37 * @return 38 */ 39 public static String getAllDescs() { 40 return descs; 41 } 42 43 44 }