枚举接口定义了你可以枚举(一次获得一个)对象集合中的元素的方法
此遗留接口已被 Iterator 取代。尽管没有被废弃,但枚举接口被认为在新代码中已经过时。然而,它仍然被如 Vector 和 Properties 等遗留类的一些方法所使用,并且在许多应用程序代码中仍然广泛使用。
枚举接口方法
枚举接口声明的方法总结如下:
1. boolean hasMoreElements()
当实现时,如果仍有更多元素可提取,则必须返回 true
;如果所有元素都已枚举完毕,则返回 false
。
2. Object nextElement()
此方法返回枚举中的下一个对象作为一个泛型的对象引用。
示例 1:Vector 的枚举
以下是一个展示如何使用枚举处理 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());
}
}
}
输出
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
示例 2:Properties 的枚举
以下是一个展示如何使用枚举处理 Properties 并打印值的示例:
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