协慌网

登录 贡献 社区

一个'for' 循环迭代 Java 中的枚举

我有一个 Java 的enum主要和中间方向:

public enum Direction {
   NORTH,
   NORTHEAST,
   EAST,
   SOUTHEAST,
   SOUTH,
   SOUTHWEST,
   WEST,
   NORTHWEST
}

如何编写迭代这些enum值的for循环?

答案

.values()

您可以在枚举上调用values()方法。

for (Direction dir : Direction.values()) {
  // do what you want
}

这个values()方法由编译器隐式声明 。所以它没有在Enum doc 上列出。

枚举值#():

for (Direction d : Direction.values()) {
     System.out.println(d);
 }

你可以这样做:

for (Direction direction : EnumSet.allOf(Direction.class)) {
  // do stuff
}