итерация перечисления с циклом while - PullRequest
0 голосов
/ 28 февраля 2012

Извините за очень нубский вопрос.Давайте предположим, что у меня есть перечисление вот так

public enum MyElementType {
TYPE_ONE,
TYPE_TWO,
TYPE_THREE;
}

Когда я хочу перебрать это перечисление, я всегда вижу это решение:

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

Интересно, существует ли жизнеспособное решение свремя цикла.Вокруг я вижу, что интерфейс Enumeration предоставляет метод hasMoreElements (), но я не знаю, как связать вещи вместе.Любой совет?

Ответы [ 2 ]

3 голосов
/ 28 февраля 2012

Почему вы хотите использовать цикл while, а не для каждого, который вы обычно видите?

В любом случае, все довольно просто

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 голос
/ 28 февраля 2012
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...