package com.example.demo.Test;
//元素 指的是 枚举类 里面的所有常亮
enum Weekday {
//周一到周五 常量
SUN(0), MON(1), TUS(2), WED(3), THU(4), FRI(5), SAT(6);
//我们定义了一个int变量,然后通过构造函数初始化这个变量。
private int value;
//注此处 必须私有化
//括号里的数字,其实就是我们定义的那个int变量。这句叫做自定义变量
private Weekday(int value) {
this.value = value;
}
//nowDay 枚举类型其中的一个 元素吧 某一个值 nowDay.value取值的方法
public static Weekday getNextDay(Weekday nowDay) {
//定义一个变量 接收这个值
int nextDayValue = nowDay.value;
//判断这个值 如果大于7说明就是 过了周日 那就是星期一
if (++nextDayValue == 7) {
nextDayValue = 0;
}
//传递当前(也就是当天)元素对象
return getWeekdayByValue(nextDayValue);
}
public static Weekday getWeekdayByValue(int value) {
//value 代表明天 是星期几得到的 枚举元素
for (Weekday c : Weekday.values()) {
//遍历 拿到所有元素
if (c.value == value) {
//判断 元素符合那种 返回元素对象 此处value是当前传递的元素对象
//这里 也可以直接返回元素对象的值 就是 return value.value
return c;
//c就是 明天 也就是返回结果
}
}
return null;
}
}
class Test {
public static void main(String[] args) {
//此处 Weekday.FRI 代表是 今天
System.out.println("明天是星期 " + Weekday.getNextDay(Weekday.FRI));
}
}
小例子 写着玩 ^^
package com.example.demo.Test;
enum TheDay {
Mon("Monday"), Tue("Tuesday"), Wed("Wednesday"), Thu("Thursday"), Fri("Friday"), Sat("Saturday"), Sun("Sunday");
private final String value;
TheDay(String value) {
this.value = value;
}
public static void changeDay(TheDay theDay) {
switch (theDay.value) {
case "Monday":
System.out.println(TheDay.Mon.value);
break;
case "Tuesday":
System.out.println(TheDay.Tue.value);
break;
case "Wednesday":
System.out.println(TheDay.Wed.value);
break;
case "Thursday":
System.out.println(TheDay.Thu.value);
break;
case "Friday":
System.out.println(TheDay.Fri.value);
break;
case "Saturday":
System.out.println(TheDay.Sat.value);
break;
case "Sunday":
System.out.println(TheDay.Sun.value);
break;
}
}
public static void main(String[] args) {
changeDay(TheDay.Fri);
}
}