Java 中使用 enum 关键字来定义枚举类,其地位与 class、interface 相同,注意到编译后会单独形成一个.class文件。
假设我们声明了如下的一个枚举类型:
public enum PenColor {
BLACK,
GRAY,
RED,
PINK,
ORANGE,
YELLOW,
GREEN,
CYAN,
BLUE,
MAGENTA;
}
我们通常使用增强for循环遍历enum枚举:
for(PenColor pencolor: PenColor.values()) {
System.out.println(pencolor);
}
/* output as follow:
BLACK
GRAY
RED
PINK
ORANGE
YELLOW
GREEN
CYAN
BLUE
MAGENTA
*/
而当我们需要通过int型的变量访问枚举类型,如在普通的for循环里访问枚举类型,我们可以记录下enum类的values()方法enumType[] public static values()
返回的包含全部枚举值的枚举类型的数组,从而实现通过int型的变量访问。
PenColor[] penColor = PenColor.values();
int size = penColor.size();
for(int i = 0; i < 36; ++i) {
turtle.color(penColor[i % size]);
drawExample(turtle, 160); turtle.turn(10);
}