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 }