Just some sharing about java open source and life

Java Enumeration

日期:2010-03-24 21:05 | 作者:JavaChen | 分类目录:Java Core
260 views

Enumeration为接口,位于java.util包中,它生成一系列元素,一次生成一个。连续调用 nextElement 方法将返回一系列的连续元素。

例如,要输出 Vector v 的所有元素,可使用以下方法:

for (Enumeration e = v.elements(); e.hasMoreElements();){
     System.out.println(e.nextElement());
}


Enumeration这些方法主要通过向量的元素、哈希表的键以及哈希表中的值进行枚举。枚举也用于将输入流指定到 SequenceInputStream 中。

使用Enumeration遍历Hashtable:

Hashtable hash=new Hashtable();
hash.put( "abc","1");
hash.put("ddd","1");
hash.put( "asdf","2");
Enumeration enumkey = hash.keys() ;
while(enumkey.hasMoreElements()){
    String str=(String)enumkey.nextElement();
    System.out.println("--------"+str);
    System.out.println("========="+hash.get( str));
}
enumkey = hash.keys() ;
while(enumkey.hasMoreElements()){
     String str=(String)enumkey.nextElement();
     System.out.println("--------"+str);
     System.out.println("========="+hash.get( str));
}

从上面的代码可以看出遍历一个枚举对象有两种方法,一种是for循环一种是使用while,应该特别注意使用for循环的方法与普通的for循环有点差异。

为了读取枚举值中的内容,还可以使用IO输入流SequenceInputStream 将内容输出。
在Servlet中,通过request.getParameterNames()可以获取到请求中的附加参数的枚举值:

Enumeration enume = request.getParameterNames();
PrintWriter out = response.getWriter();
out.write("");
out.write("");
out.write("");
out.write("servlet演示");
out.write("");
out.write("");
out.write("");
out.write("传递的参数信息:");
while (enume.hasMoreElements()) {
          String paramName = enume.nextElement().toString();
          out.write(paramName + "=" + request.getParameter(paramName));
}
out.write("");
out.write("");

注:此接口的功能与 Iterator 接口的功能是重复的。此外,Iterator 接口添加了一个可选的移除操作,并使用较短的方法名。新的实现应该优先考虑使用 Iterator 接口而不是 Enumeration 接口。

Reblog this post [with Zemanta]
作者:JavaChen | 分类目录:Java Core | 标签:
回到顶部

无觅相关文章插件,快速提升流量