- 类型参数:
-
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
添加了一个可选的remove操作,并且具有更短的方法名称。新的实现应考虑优先使用Iterator
而不是Enumeration
。可以通过使用asIterator()
方法将Enumeration
适配为Iterator
。 - 自版本:
- 1.0
- 参见:
-
Method Summary
Modifier and TypeMethodDescription返回一个遍历此枚举剩余元素的Iterator
。boolean
检查此枚举是否包含更多元素。如果此枚举对象至少还有一个元素要提供,则返回此枚举的下一个元素。
-
Method Details
-
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
。 - 返回:
- 表示此枚举剩余元素的Iterator
- 自版本:
- 9
-