Java enum
定义一堆特定名字的类型
这是一个简单的例子
public enum Weekday {
MON, TUE, WED, THU, FRI, SAT, SUN;
}这是一个比较完整的使用例子
enum Weekday {
MON(1, "星期一"), TUE(2, "星期二"), WED(3, "星期三"), THU(4, "星期四"), FRI(5, "星期五"), SAT(6, "星期六"), SUN(0, "星期日");
public final int dayValue;
private final String chinese;
private Weekday(int dayValue, String chinese) {
this.dayValue = dayValue;
this.chinese = chinese;
}
@Override
public String toString() {
return this.chinese;
}
}可直接通过==比较
通过name()获取常量定义的字符串,注意不要使用toString()
通过ordinal()返回常量定义的顺序(无实质意义)
可以为enum编写构造方法、字段和方法
enum的构造方法要声明为private,字段强烈建议声明为final
enum适合用在switch语句中