枚举接口定义了枚举(一次获取一个)对象集合中的元素的方法。

这一遗留接口已被 Iterator 取代。尽管并未弃用,但枚举对于新代码来说已被视为已过时。但是,它被旧类(例如 Vector 和 Properties)定义的多种方法使用,被其他几个 API 类使用,并且目前在应用程序代码中广泛使用。

Enumeration 声明的方法是总结如下表 

序号方法及说明
1

boolean hasMoreElements( )

实现时,当还有更多元素需要提取时,它必须返回 true;当所有元素都已枚举完时,它必须返回 false。

2

Object nextElement( )

这将枚举中的下一个对象作为通用对象引用返回。

示例 1

以下示例显示向量枚举的用法。

import java.util.Vector;
import java.util.Enumeration;

public class EnumerationTester {

   public static void main(String args[]) {
      Enumeration<String> days;
      Vector<String> dayNames = new Vector<>();
      
      dayNames.add("Sunday");
      dayNames.add("Monday");
      dayNames.add("Tuesday");
      dayNames.add("Wednesday");
      dayNames.add("Thursday");
      dayNames.add("Friday");
      dayNames.add("Saturday");
      days = dayNames.elements();
      
      while (days.hasMoreElements()) {
         System.out.println(days.nextElement()); 
      }
   }
} 

输出

Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday 

示例 2

以下示例显示如何使用属性的枚举来打印值。

import java.util.Vector;
import java.util.Enumeration;
import java.util.Properties;

public class EnumerationTester {

   public static void main(String args[]) {
      Enumeration<Object> days;
      Properties dayNames = new Properties();
      
      dayNames.put(1, "Sunday");
      dayNames.put(2,"Monday");
      dayNames.put(3,"Tuesday");
      dayNames.put(4,"Wednesday");
      dayNames.put(5,"Thursday");
      dayNames.put(6,"Friday");
      dayNames.put(7,"Saturday");
      days = dayNames.elements();
      
      while (days.hasMoreElements()) {
         System.out.println(days.nextElement()); 
      }
   }
} 

输出

Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday