在 Java 中迭代枚举的 for 循环

新手上路,请多包涵

我在 Java 中有一个 enum 用于基本方向和中间方向:

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

我如何编写一个 for 循环来遍历每个 enum 值?

原文由 Nick Meyer 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 612
2 个回答

.values()

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

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

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

原文由 notnoop 发布,翻译遵循 CC BY-SA 3.0 许可协议

枚举类型的所有常量都可以通过调用该类型的隐式 public static T[] values() 方法获得:

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

原文由 dfa 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题