目录

Life in Flow

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

X

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
        }
    }

作者:Soulboy