Enum
枚举类的使用场景
在数学和计算机科学理论中,⼀个集的枚举是列出某些有穷序列集的所有成员的程 序,或者是 ⼀种特定类型对象的计数。
- 枚举类型是 Java 5 中新增特性的 ⼀部分,它是 ⼀种特殊的数据类型
- 定义枚举类型时使 ⽤的关键字是 enum,与 class 关键字类似,但前者是定义枚举类型,后者 是定义类类型
- 注意: 枚举值 ⼀般是 ⼤写的字母,多个值之间以逗号分隔
不使用枚举类型时(定义常量)
//定义⼀个⼀周⾥⾯的每天
public class DayConstant {
public static final int MONDAY =1;
public static final int TUESDAY=2;
public static final int WEDNESDAY=3;
public static final int THURSDAY=4;
public static final int FRIDAY=5;
public static final int SATURDAY=6;
public static final int SUNDAY=7;
}
使用枚举类型定义
//枚举类型,使⽤关键字enum
enum Day {
MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
常用 API
@Test
public void enumTesting(){
//返回此枚举常量的名称
DayEnum friday = DayEnum.FRIDAY;
String name = friday.name();//FRIDAY
System.out.println(name);
//该⽅法获取的是枚举变量在枚举类中声明的顺序,下标从0开始(它在枚举声明中的位置,其中初始常量序数为零,如果枚举的位置发⽣变化,对应的值也会变化)
int ordinal = friday.ordinal(); //4
System.out.println(ordinal);
//通过字符串获取对应的枚举值
DayEnum monday = DayEnum.valueOf("MONDAY");
String name1 = monday.name();//MONDAY
System.out.println(name1);
//获取枚举类种所有的枚举值,并且以数组的方式返回
DayEnum[] values = DayEnum.values();
for (DayEnum value : values) {
System.out.println(value);//MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY、SUNDAY
}
}