java 枚举的应用

使用枚举的方式 实现上一篇中介绍的例子:并增加功能,输出今天执行的内容;

import java.util.Calendar;
import java.util.Date;

/**
* 周 的枚举
*/
public enum Day {

WORK(1, 2, 3, 4, 5) {
@Override
public void doThing() {
System.out.println("工作。。。");
}
},//工作日
STA(6) {
@Override
public void doThing() {
System.out.println("健身。。。");
}
},//周六
SUN(0) {
@Override
public void doThing() {
System.out.println("休息。。。");
}
}//周日
;

Day(int... i) {

}

public abstract void doThing();

public static Day getToday() {
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
int i = calendar.get(Calendar.DAY_OF_WEEK) - 1;
switch (i) {
case 0:
return Day.SUN;
case 6:
return Day.STA;
default:
return Day.WORK;
}
}

/**
* 今天需要完成的事项
*/
public static void executeTodayPlan() {
getToday().doThing();
}
}


执行:


结果:

总结:该种方案 使用于 较为固化的若干种情况下 有区别的执行;

可用于 :如多数据源连接的加载(程序即使用mysql也使用mogodb,就可以采用这种方式获取不同数据源的连接)。

灵活运用,切忌生搬硬套。。。 


原文地址:https://www.cnblogs.com/fish-in-sky/p/6392033.html