java - 使用 while 循环迭代枚举

标签 java enums while-loop

很抱歉问了一个非常菜鸟的问题。 假设我有一个像这样的枚举

public enum MyElementType {
TYPE_ONE,
TYPE_TWO,
TYPE_THREE;
}

当我想循环这个枚举时,我总是看到这个解决方案:

for(MyElementType type: MyElementType.values())
{
//do things
}

我想知道 while 循环是否存在可行的解决方案。 搜索周围我发现 Enumeration 接口(interface)公开了该方法 有更多元素() 但我不知道如何将这些事情联系在一起。 有什么建议吗?

最佳答案

为什么要使用 while 循环而不是更常见的 for-each 循环?

无论如何,这都很简单

Set<MyElementType> elements = EnumSet.allOf(MyElementType.class);
Iterator<MyElementType> it = elements.iterator();
while (it.hasNext()) {
    MyElementType el = it.next();
    // etc
}

// or
Iterator<MyElementType> it = Arrays.asList(MyElementType.values()).iterator();

关于java - 使用 while 循环迭代枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9479819/

相关文章:

java - 生成随机的不重叠的docker绑定(bind)端口

java - 如何检查字符串是否在某个范围内。 ( java )

java - 如何在两个数字之间生成随机值

java - 枚举值实际上是枚举本身的子类吗?

java - 跟踪选择了哪个枚举?

c# - while 循环 C# 的登录系统问题

c++ - 关于rabbitmq-c中使用的C语法的问题

java - 如何在将来引用另一个日期验证该日期?

Java - 无效的枚举值未落入 switch block 中的默认值

Java 在 Linux 中运行时不会中断一段时间