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