资源描述:
《java 枚举七种常见用法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Java枚举七种常见用法用法一:常量在JDK1.5之前,我们定义常量都是:public static final....。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 publicenumColor{ RED,GREEN,BLANK,YELLOW }用法二:switch使用枚举,能让我们的代码可读性更强。enumSignal{GREEN,YELLOW,RED}publicclassTrafficLight{Signalcolor=Signal.RED;publicvoidchange(){swi
2、tch(color){caseRED:color=Signal.GREEN;break;caseYELLOW:color=Signal.RED;break;caseGREEN:color=Signal.YELLOW;break;}}}用法三:向枚举中添加新方法如果打算自定义自己的方法,那么必须在enum实例序列的最后添加一个分号。而且Java要求必须先定义enum实例。publicenumColor{RED("红色",1),GREEN("绿色",2),BLANK("白色",3),YELLO("黄色",4);//成员变量privateStrin
3、gname;privateintindex;//构造方法privateColor(Stringname,intindex){this.name=name;this.index=index;}//普通方法publicstaticStringgetName(intindex){for(Colorc:Color.values()){if(c.getIndex()==index){returnc.name;}}returnnull;}//getset方法publicStringgetName(){returnname;}publicvoidsetNa
4、me(Stringname){this.name=name;}publicintgetIndex(){returnindex;}publicvoidsetIndex(intindex){this.index=index;}}用法四:覆盖枚举的方法下面给出一个toString()方法覆盖的例子。publicenumColor{RED("红色",1),GREEN("绿色",2,BLANK("白色",3),YELLO("黄色",4);//成员变量privateStringname;privateintindex;//构造方法privateColor
5、(Stringname,intindex){this.name=name;this.index=index;}//覆盖方法@OverridepublicStringtoString(){returnthis.index+"_"+this.name;}}用法五:实现接口所有的枚举都继承自java.lang.Enum类。由于Java不支持多继承,所以枚举对象不能再继承其他类。publicinterfaceBehaviour{voidprint();StringgetInfo();}publicenumColorimplementsBehaviou
6、r{RED("红色",1),GREEN("绿色",2),BLANK("白色",3),YELLO("黄色",4);//成员变量privateStringname;privateintindex;//构造方法privateColor(Stringname,intindex){this.name=name;this.index=index;}//接口方法@OverridepublicStringgetInfo(){returnthis.name;}//接口方法@Overridepublicvoidprint(){System.out.println
7、(this.index+":"+this.name);}}用法六:使用接口组织枚举publicinterfaceFood{enumCoffeeimplementsFood{BLACK_COFFEE,DECAF_COFFEE,LATTE,CAPPUCCINO}enumDessertimplementsFood{FRUIT,CAKE,GELATO}}用法七:关于枚举集合的使用java.util.EnumSet和java.util.EnumMap是两个枚举集合。EnumSet保证集合中的元素不重复;EnumMap中的key是enum类型,而valu
8、e则可以是任意类型。关于这个两个集合的使用就不在这里赘述,可以参考JDK文档。