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
* */