Java之Enumeration接口
Enumeration的作用
实现 Enumeration 接口的对象,它生成一系列元素,一次生成一个。连续调用 nextElement
方法将返回一系列的连续元素。
接口中所包含的方法
此接口中只有两个方法。
-
boolean hasMoreElements():测试此枚举是否包含更多的元素。
-
E nextElement():如果此枚举对象至少还有一个可提供的元素,则返回此枚举的下一个元素。
Java类实现Enumation接口实例
package text;
import java.util.*;
public class Text{
public static void main(String[] args){
//实例化MyDataStruct类型的对象
MyDataStruct myDataStruct=new MyDataStruct();
//得到描述myDataStruct类型对象的enumeration对象
Enumeration myEnumeration =myDataStruct.getEnum();
//使用对象循环显示myDataStruct类型的对象中的每一个元素
while (myEnumeration.hasMoreElements())
System.out.println(myEnumeration.nextElement());
}
}
//MyEnumeration类实现Enumeration接口
class MyEnumeration implements Enume ration
{
int count; // 计数器
int length; //存储的数组的长度
Object[] dataArray; // 存储数据数组的引用
//构造器
MyEnumeration(int count,int length,Object[] dataArray){
this.count = count;
this.length = length;
this.dataArray = dataArray;
}
public boolean hasMoreElements() { //实现接口中的hasMoreElements()方法
return (count< length);
}
public Object nextElement() { //实现接口中的nextElement()方法
return dataArray[count++];
}
}
//MyDataStruct类用于实例化一个简单的、可以提供enumeration对象
//给使用程序的数据结果对象
class MyDataStruct
{
String[] data;
// 构造器
MyDataStruct(){
data = new String[4];
data[0] ="zero";
data[1]="one";
data[2] ="two";
data[3]="three";
}
// 返回一个enumeration对象给使用程序
Enumeration getEnum() {
return new MyEnumeration(0,data.length,data);
}
}