Enumeration是什么,是数据类型吗?
在for语句中一般是(int i=0;....)在下面的例子中for后面不是跟的int数据类型,而是Enumeration,这又是什么数据类型呢?
import java.util.*;
public class Hashtable{
public static void main(String[] args){
Hahstable ht=new Hashtable();
ht.put( "0011-123 ", "江泽民 ");
ht.put( "0012-456 ", "李鹏 ");
ht.put( "0013-789 ", "李瑞环 ");
System.out.println( " <目录> ");
for(Enumeration e=ht.element();e.hasMoreElement();)
System.out.println(e.nextElement());
}
}
------解决方案--------------------枚举类型
------解决方案--------------------实现 Enumeration 接口的对象,它生成一系列元素,一次生成一个。连续调用 nextElement 方法将返回一系列的连续元素。
见jdk util包
------解决方案--------------------枚举类
------解决方案--------------------你不用去关注for(first;second;third)里面三个东西是什么,你只需要知道for()执行的顺序是先first,然后判断second,然后就运行代码,最后再third一下就行了。Enumeration是个枚举类.
-----------------------------------------
for(Enumeration e=ht.element();e.hasMoreElement();){
System.out.println(e.nextElement());
}
上面的代码就先定义一个Enumeration对象,然后判断是不是有下一个元素,然后打印出下一个元素,最后又判断…………这样一直下去。。。所以这样是可以执行的。。。。
对了e.hasMoreElement()返回的是boolean。。。
------解决方案--------------------public interface Enumeration <E> 实现 Enumeration 接口的对象,它生成一系列元素,一次生成一个。连续调用 nextElement 方法将返回一系列的连续元素。
例如,要输出向量 v 的所有元素,可使用以下方法:
for (Enumeration e = v.elements() ; e.hasMoreElements() ;) {
System.out.println(e.nextElement());
}
这些方法主要通过向量的元素、哈希表的键以及哈希表中的值进行枚举。枚举也用于将输入流指定到 SequenceInputStream 中。
注:此接口的功能与 Iterator 接口的功能是重复的。此外,Iterator 接口添加了一个可选的移除操作,并使用较短的方法名。新的实现应该优先考虑使用 Iterator 接口而不是 Enumeration 接口。