package com.luo.enum;
//import java.util.EnumSet;
import java.util.Calendar;
import java.util.Date;
import java.util.EnumMap;
import java.util.Map;
enum WeekDayEnum{
Mon(1),Tue(2),Wen(3),Thu(4),Fri(5),Sat(6),Sun(7);
private WeekDayEnum(int index) {
this.index = index;
}
private int index;
public int getIndex() {
return this.index;
}
}
enum RainbowColor {
RED, ORANGE, YELLOW, GREEN, BLUE, CYAN, PURPLE
}
public class EnumTest2 {
public static void main(String[] args) {
/*EnumSet<WeekDayEnum> subSet = EnumSet.range(WeekDayEnum.Mon, WeekDayEnum.Fri);
for(WeekDayEnum day:subSet) {
System.out.println(day);
}
EnumSet<RainbowColor> colors = EnumSet.of(RainbowColor.BLUE, RainbowColor.RED);
for(RainbowColor color: colors) {
System.out.println(color);
}*/
System.out.println(WeekDayEnum.class);
//EnumMap
Map<WeekDayEnum, RainbowColor> schema =
new EnumMap<WeekDayEnum, RainbowColor>(WeekDayEnum.class);
// 将一周的每一天与彩虹的某一种色彩映射起来
for (int i = 0; i < WeekDayEnum.values().length; i++) {
schema.put(WeekDayEnum.values()[i], RainbowColor.values()[i]);
}
WeekDayEnum today = readToday();
System.out.println("today index:" + today.getIndex());
System.out.println("What is the lucky color today?");
System.out.println("It's " + schema.get(today));
}
private static WeekDayEnum readToday() {
//获取当前时间
Date now = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(now);
int index = calendar.get(Calendar.DAY_OF_WEEK)-1; //周日是每周的第一天
return WeekDayEnum.values()[index-1];
}
}