- 类型参数:
-
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
-