模块 java.base
 java.util

接口 Enumeration<E>

类型参数:
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
参见:
  • 方法总结

    修饰符和类型
    方法
    描述
    default Iterator<E>
    返回一个Iterator ,它遍历了这个枚举覆盖的剩余元素。
    boolean
    测试此枚举是否包含更多元素。
    E
    如果此枚举对象至少还有一个元素要提供,则返回此枚举的下一个元素。
  • 方法详情

    • hasMoreElements

      boolean hasMoreElements()
      测试此枚举是否包含更多元素。
      返回:
      true 当且仅当此枚举对象包含至少一个要提供的元素时; false否则。
    • nextElement

      E  nextElement()
      如果此枚举对象至少还有一个元素要提供,则返回此枚举的下一个元素。
      返回:
      此枚举的下一个元素。
      抛出:
      NoSuchElementException - 如果不存在更多元素。
    • asIterator

      default Iterator <E > 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