日期:2014-05-20  浏览次数:20906 次

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 接口。