- 类型参数:
E
- 此枚举返回的元素类型
- 所有已知的子接口:
NamingEnumeration<T>
- 所有已知的实现类:
StringTokenizer
public interface Enumeration<E>
实现 Enumeration 接口的对象生成一系列元素,一次一个。对
nextElement
方法的连续调用返回系列的连续元素。
例如,要打印 Vector<E>
的所有元素v:
for (Enumeration<E> e = v.elements(); e.hasMoreElements();) System.out.println(e.nextElement());
提供了枚举向量的元素、哈希表的键和哈希表中的值的方法。枚举还用于指定 SequenceInputStream
的输入流。
- API 注意:
-
该接口的功能由
Iterator
接口复制。此外,Iterator
添加了一个可选的删除操作,并且方法名称更短。新的实现应该考虑使用Iterator
而不是Enumeration
。可以使用asIterator()
方法将Enumeration
适配为Iterator
。 - 自从:
- 1.0
- 参见:
-
方法总结
-
方法详情
-
hasMoreElements
boolean hasMoreElements()测试此枚举是否包含更多元素。- 返回:
true
当且仅当此枚举对象包含至少一个要提供的元素时;false
否则。
-
nextElement
E nextElement()如果此枚举对象至少还有一个元素要提供,则返回此枚举的下一个元素。- 返回:
- 此枚举的下一个元素。
- 抛出:
NoSuchElementException
- 如果不存在更多元素。
-
asIterator
返回一个Iterator
,它遍历了这个枚举覆盖的剩余元素。如果在调用asIterator
之后在此枚举上调用任何方法,则遍历是未定义的。- API 注意:
-
此方法旨在帮助将生成
Enumeration
个实例的代码调整为使用Iterator
个实例的代码。例如,JarFile.entries()
方法返回一个Enumeration<JarEntry>
。这可以变成一个Iterator
,然后可以使用forEachRemaining()
方法:
(请注意,还有一个JarFile jarFile = ... ; jarFile.entries().asIterator().forEachRemaining(entry -> { ... });
JarFile.stream()
方法返回一个Stream
条目,这在某些情况下可能更方便。) - 实现要求:
-
默认实现返回一个
Iterator
,其hasNext
方法调用此枚举的hasMoreElements
方法,其next
方法调用此枚举的nextElement
方法,其remove
方法抛出UnsupportedOperationException
。 - 返回:
- 表示此 Enumeration 的剩余元素的 Iterator
- 自从:
- 9
-