Почему перечисления не повторяемы?
В Java 5 и выше у вас есть цикл foreach, который волшебным образом работает над всем, что реализуетIterable
:
for (Object o : list) {
doStuff(o);
}
Тем не мение,Enumerable
до сих пор не реализуетIterable
Это означает, что для перебораEnumeration
Вы должны сделать следующее:
for(; e.hasMoreElements() ;) {
doStuff(e.nextElement());
}
Кто-нибудь знает, если есть причина, почемуEnumeration
до сих пор не реализуетIterable
?
Редактировать: Как пояснение, я не говорю о языковой концепцииперечислениеЯ говорю о специфическом для Java классе в Java API под названием 'перечисление».