枚举类型的实例是常量,且它们都用大写字母表示。

简单枚举例子:

public enum Spiciness {
NOT, MILD, MEDIUM, HOT, FLAMING
}
public class Main {
public static void main(String[] args) {
Spiciness howHot = Spiciness.MEDIUM;
print(howHot);
}
}
//结果:MEDIUM

在创建enum时,编译器会自动田间一些有用的特性,比如,会创建toString()方法,这样可以方便显示某个enum实例的名字,如上例子所示。还会创建ordinal()方法,用来表示某个特定enum常量的声明顺序,以及static values()方法,用来按照enum常量的声明顺序,产生由这些常量值构成的数组,如下例子所示:

public class EnumOrder {
public static void main(String[] args) {
for(Spiciness s : Spiciness.values()) {
print(s.ordinal());
}
}
}
//结果:0 1 2 3 4

enum这个关键字只是为enum生成对应的类时,产生了某些编译器行为,而enum其实是个类,并且具有自己的方法。可以用于switch-case语句。

05-23 02:52