12.1. 什么是枚举类?

Java 5之前没有提供枚举类型,尽管可以通过声明静态常量(final static变量)替代枚举,但是仍然很 多Java程序员期待能有类似其他语言中的枚举类型。Java 5之后提供了枚举类型,Java枚举类型本质上 是一种继承java.lang.Enum类,是引用数据类型,因此也称为“枚举类”。

12.1.1. 枚举举例

在Java 5之前没有提供枚举类型,可以通过声明静态常量(final static变量)替代枚举常量,例如想声 明一组常量表示一周中的5个工作日,那么Java 5之前实现代码如下:

package com.a51work.cn;

public interface WeekDays {
    //    枚举常量列表
    int MONDAY = 0; //星期一
    int TUESDAY = 1; //星期二
    int WEDNESDAY = 2; //星期三
    int THURSDAY = 3; //星期四
    int FRIDAY = 4; //星期五

}

12.1.2. 枚举的语言结构

[public] enum 枚举名 {
枚举常量列表
}

12.1.3. 枚举示例

WeekDays.java

package com.a51work.cn;

public enum WeekDays01 {
    // 枚举常量列表
    MONDY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY
}

HelloWorld.java

package com.a51work.cn;

public class HelloWorld {
    public static void main(String[] args) {
        WeekDays day = WeekDays.WEDNESDAY;
        System.out.println(day);

//        day工作日常量
        switch (day){
            case MONDY:
                System.out.println("星期1");
                break;
            case TUESDAY:
                System.out.println("星期2");
                break;
            case WEDNESDAY:
                System.out.println("星期3");
                break;
            case THURSDAY:
                System.out.println("星期4");
                break;
            default:
                System.out.println("星期5");
                break;
        }


    }
}


/*
WEDNESDAY
星期3
* */