0x01 定义
Java 枚举是一个特殊的类,一般表示一组常量。比如一年四季、一周七天、颜色等等,其他东西,都可以使用枚举值来进行编写。
0x02 使用过程
package liushan.www;
enum Day
{
MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
public class DiDa {
public static void main(String[] args) {
Day day = Day.FRIDAY;
System.out.println(day);
System.out.println("-----------------------------------");
Day[] arr = Day.values();
for(Day x:arr)
{
System.out.println(x+"位于"+x.ordinal());
}
}
}
输出结果:,输出单个值和,循环输出所有值。 这里和C++中的枚举值都不一样,C++中的枚举值本质上就是一种类似int类型的常量,但是这里好像是无法与int类型进行联系。
0x03 使用场景
比如说,一个星期七天,七天分别有不同的事情去做,那么就是可以使用枚举值进行判断,然后继续执行。
enum 名字{
}
switch xx:
case :
执行Xxx
具体例子:
package liushan.www;
enum Day
{
MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
public class DiDa {
public static void DoIt(Day c)
{
switch (c)
{
case MONDAY:
System.out.println("This is MONDAY");
break;
case TUESDAY:
System.out.println("This is TUESDAY");
break;
case WEDNESDAY:
System.out.println("This is WEDNESDAY");
break;
case THURSDAY:
System.out.println("This is THURSDAY");
break;
case FRIDAY:
System.out.println("This is FRIDAY");
break;
case SATURDAY:
System.out.println("This is SATURDAY");
break;
case SUNDAY:
System.out.println("This is SUNDAY");
break;
default:
break;
}
}
public static void main(String[] args) {
Day[] arr = Day.values();
for(Day x:arr)
{
System.out.println(x+"位于"+x.ordinal());
DoIt(x);
}
}
}
运行结果:,会逐个调用这些函数。
|