Java通过循环变量访问枚举类型enum

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);
}
发布了8 篇原创文章 · 获赞 2 · 访问量 176

猜你喜欢

转载自blog.csdn.net/ZhifanSk/article/details/104697040