Java 简明教程

Java - Enumeration Interface

Enumeration 接口定义了 methods ,通过该接口可以在 objects 集合中逐个枚举(获取)。

The Enumeration interface defines the methods by which you can enumerate (obtain one at a time) the elements in a collection of objects.

此旧版 interface 已被 Iterator 取代。尽管未弃用,但对于新代码,Enumeration 被视为已过时。然而,几个由旧版类(例如 Vector 和 Properties)定义的方法使用它,其他几个 API 类使用它,并且当前在应用程序代码中广泛使用。

This legacy interface has been superceded by Iterator. Although not deprecated, Enumeration is considered obsolete for new code. However, it is used by several methods defined by the legacy classes such as Vector and Properties, is used by several other API classes, and is currently in widespread use in application code.

Enumeration Interface Methods

Enumeration 声明的方法汇总在以下表格中 −

The methods declared by Enumeration are summarized in the following table −

Sr.No.

Method & Description

1

boolean hasMoreElements( ) When implemented, it must return true while there are still more elements to extract, and false when all the elements have been enumerated.

2

Object nextElement( ) This returns the next object in the enumeration as a generic Object reference.

Example 1: Enumeration for Vector

以下是显示针对 Vector 使用 Enumeration 的示例。

Following is an example showing usage of Enumeration for a Vector.

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());
      }
   }
}

Output

Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday

Example 2: Enumeration for properties

以下是显示针对 Properties 使用 Enumeration 打印值示例。

Following is an example showing usage of Enumeration for Properties to print the values.

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());
      }
   }
}

Output

Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday