目录

Life in Flow

知不知,尚矣;不知知,病矣。
不知不知,殆矣。

X

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    }

作者:Soulboy