Enumeration接口提供了一套标准的方法,为数据结构提供方法协议。
下面是一个使用的例子:
//e is an object that implements the Enumeration interface
while (e.hasMoreElements()) {
Object o= e.nextElement();
System.out.println(o);
}
实现该接口的对象由一系列的元素组成,可以连续地调用nextElement()方法来得到 Enumeration枚举对象中的元素。
Enumeration接口中仅定义了下面两个方法:
boolean hasMoreElemerts()
测试Enumeration枚举对象中是否还含有元素,如果返回true,则表示还含有至少一个的元素。
Object nextElement()
如果Enumeration枚举对象还含有元素,该方法得到对象中的下一个元素。
package com.zte.javabasic;
import java.util.*;
class DemoEnumeration {
public static void main(String[] args)
{
MyDataStruct dataStruct = new MyDataStruct();
Enumeration myEnumeration = dataStruct.getEnum();
while(myEnumeration.hasMoreElements())
{
System.out.println(myEnumeration.nextElement());
}
}
}
class MyEnumeration implements Enumeration
{
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(){
return (count < length);
}
public Object nextElement(){
return dataArray[count++];
}
}
class MyDataStruct
{
String[] data;
MyDataStruct(){
data = new String[4];
data[0] = "0x00";
data[1] = "0x01";
data[2] = "0x02";
data[3] = "0x03";
}
Enumeration getEnum(){
return new MyEnumeration(0, data.length, data);
}
}
运行结果:
0x00
0x01
0x02
0x03