为什么枚举不是可迭代的?

23 浏览
0 Comments

为什么枚举不是可迭代的?

在Java 5及以上版本中,您可以使用foreach循环,在任何实现了Iterable接口的对象上都可以工作得很神奇:

for (Object o : list) {

doStuff(o);

}

然而,Enumerable仍然没有实现Iterable接口,这意味着要遍历一个Enumeration对象,您必须执行以下操作:

for(; e.hasMoreElements() 😉 {

doStuff(e.nextElement());

}

有人知道为什么Enumeration仍然没有实现Iterable接口吗?

编辑:澄清一下,我不是在谈论语言概念上的枚举,我说的是Java API中的一个特定类叫做'Enumeration'。

0