从Java SE 5.0开始,Java程序设计语言引入了一种新的类型---------枚举(Enum)
枚举是指一组固定的常量组成的类型,是java.lang.Enum类的子类,继承了Enum类许多有用的方法,使用关键字enum定义。定义枚举格式如下:
public enum Gender {
男,女 //一组不可修改的静态常量
}
枚举的具体使用举例如下
需求:根据用户输入今天星期几,对用户一周做的事情做提示
实现:
//定义枚举表示一周的七天
public enum Week {
Mon,Tue,Wed,Thu,Fri,Sat,Sun
}
//实现类
public class DoWeeks {
//不定义枚举实现需求的方法
public void doSomething(int day){
if (day>=1 && day<=7){
switch (day){
case 1:
case 2:
case 3:
case 5:
System.out.println("下午上课,上午睡觉");
break;
case 4:
case 7:
System.out.println("休息");
break;
case 6:
System.out.println("上午上课");
break;
}
}else {
System.out.println("输入错误");
}
}
//定义枚举实现需求的方法
public void doSomething2(Week day){ //形参传枚举类型的参数
switch(day){ //switch可以支持枚举
case Mon:
case Tue:
case Wed:
case Fri:
System.out.println("下午上课,上午睡觉");
break;
case Thu:
case Sun:
System.out.println("休息");
break;
case Sat:
System.out.println("上午上课");
break;
}
}
public static void main(String[] args) {
public static void main(String[] args) {
DoWeeks doWeeks = new DoWeeks();
doWeeks.doSomething(7);
System.out.println("枚举操作");
doWeeks.doSomething2(Week.Tue);
}
}
输出结果:
休息
枚举操作
下午上课,上午睡觉
通过以上例子对比可得利用枚举操作可使代码更简洁和便利
在程序中使用枚举的好处总结如下:
枚举可以使代码更易于维护,有助于确保为变量指定合法的、期望的值
枚举更易于编程时输入,使用枚举赋值,只需要输入枚举名,然后输入一个点(.)就能将所有的值显示出来
枚举使代码更清晰,允许用描述性的名称表示数据,使用时直观方便