一,什么时候使用Enum
1.当你需要在一个有限范围内,选择某一个选项,获取该选项对应的属性或方法,可以考虑用枚举
比如:一周只能有七天,性别只有男和女,一年只有12个月,等等
2.如何你想把你有限范围内的参数转化成你想要的参数可以考虑用枚举
二,Enum基本写发
public enum DemoEnum {
MON, TUE, WED, THU, FRI, SAT, SUN;
}
三,Enum举例
1.需求:假设现在要随机从一周七天里面,选出某一天的报道人数。
代码实现:
public enum DemoEnum {
MON("1","星期一","11"), TUE("2","星期二","22"), WED("3","星期三","33"), THU("4","星期四","44"), FRI("5","星期五","55"), SAT("6","星期六","66"), SUN("7","星期天","77");
//星期编号
private int number;
//日期
private String date;
//人数
private int people;
// 构造方法
private DemoEnum(int number,String date,int people) {
this.number= number;
this.date= date;
this.people= people;
}
public int getNumber() {
return number;
}
public String getDate() {
return date;
}
public int getPeople() {
return people;
}
}
public static void main(String[] args) {
// 随机产生一个1-7范围内的星期编号
int type = new Random().nextInt(7) + 1;
// 水果编号对应相应的水果
DemoEnum[] aa = DemoEnum.values();
for(int t=0;t<aa.length;t++) {
if(aa[t].getNumber()==type){
System.out.println(“一星期抽查某天人数是:”+aa[t].getPeople());
}
}
}
2.需求:假设现在要把前端传过来的性别男女或者星期一到星期天都以1-7的数字方式保存在数据库。
public enum DemoEnum {
星期一(1), 星期二(2), 星期三(3), 星期四(4), 星期五(5), 星期六(6), 星期天(7);
//星期编号
private int number;
// 构造方法
private DemoEnum(int number) {
this.number= number;
}
public int getNumber() {
return number;
}
}
public static void main(String[] args) {
//假设前端传来的值是a
String a = “星期四”;
DemoEnum aa = DemoEnum.valueOf(“星期四”);
//转化后需要填入到数据库的数字
System.out.println(aa.getNumber());
}