定义一个枚举类:
enum Season {
SPRING, SUMMER, AUTUMN, WINTER
}
Enum类提供了一个ordinal()方法,用来返回枚举对象的序数,比如本例中SPRING, SUMMER, AUTUMN, WINTER的序数就分别是0,1,2,3。在某些情况下,我们需要根据这个序数生成我们需要的枚举对象。
我们可以使用枚举类型的values()方法做到:
enum Season {
SPRING, SUMMER, AUTUMN, WINTER;
public static Season valueOf(int ordinal) {
if (ordinal < 0 || ordinal >= values().length) {
throw new IndexOutOfBoundsException("Invalid ordinal");
}
return values()[ordinal];
}
}