在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的。
例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”。
在Java中如何更好的使用这些“数据集”呢?因此枚举便派上了用场,以下代码详细介绍了枚举的用法。
package com.ljq.test;/** * 枚举用法详解 * * @author jiqinlin * */publicclass TestEnum { /** * 普通枚举 * * @author jiqinlin * */publicenum ColorEnum { red, green, yellow, blue; } /** * 枚举像普通的类一样可以添加属性和方法,可以为它添加静态和非静态的属性或方法 * * @author jiqinlin * */publicenum SeasonEnum { //注:枚举写在最前面,否则编译出错 spring, summer, autumn, winter; privatefinalstatic String position ="test"; publicstatic SeasonEnum getSeason() { if ("test".equals(position)) return spring; elsereturn winter; } } /** * 性别 * * 实现带有构造器的枚举 * * @author jiqinlin * */publicenum Gender{ //通过括号赋值,而且必须带有一个参构造器和一个属性跟方法,否则编译出错 //赋值必须都赋值或都不赋值,不能一部分赋值一部分不赋值;如果不赋值则不能写构造器,赋值编译也出错 MAN("MAN"), WOMEN("WOMEN"); privatefinal String value; //构造器默认也只能是private, 从而保证构造函数只能在内部使用 Gender(String value) { this.value = value; } public String getValue() { return value; } } /** * 订单状态 * * 实现带有抽象方法的枚举 * * @author jiqinlin * */publicenum OrderState { /** 已取消 */ CANCEL {public String getName(){return"已取消";}}, /** 待审核 */ WAITCONFIRM {public String getName(){return"待审核";}}, /** 等待付款 */ WAITPAYMENT {public String getName(){return"等待付款";}}, /** 正在配货 */ ADMEASUREPRODUCT {