抱歉这个非常棒的问题。 我们假设我有一个这样的枚举
public enum MyElementType {
TYPE_ONE,
TYPE_TWO,
TYPE_THREE;
}
当我想循环这个枚举时,我总是看到这个解决方案:
for(MyElementType type: MyElementType.values())
{
//do things
}
我想知道是否存在while循环的可行解决方案。 在Seraching我看到Enumeration接口公开了该方法 的hasMoreElements() 但我不知道如何将事物联系在一起。 有什么建议吗?
答案 0 :(得分:3)
为什么你想使用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();
答案 1 :(得分:1)