博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
回归JDK源代码(2)Enumeration<E>接口
阅读量:6207 次
发布时间:2019-06-21

本文共 2670 字,大约阅读时间需要 8 分钟。

现在的Java程序员习惯使用Iterator<E>接口或者增强for循环来遍历集合。如果回到JDK 1.0,Enumeration接口则是遍历向量、哈希表的不二之选。本节就解读和翻译一下Enumeration<E>接口的源代码。当然,有一点还是得再强调一下:Enumeration<E>的泛型实在JDK 1.5时加上去的,最初的版本是没有泛型的。

package java.util;/** * An object that implements the Enumeration interface generates a * series of elements, one at a time(一次一个). Successive calls to the * nextElement method return successive(逐个) elements of the * series.  * 实现了Enumeration接口的对象自动生成一系列元素,一次一个。  * 逐次调用nextElement()方法,依次返回系列元素。 * 

* For example, to print all elements of a Vector<E> v: * 举例而言,打印Vector

中的所有元素 *

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

* Methods are provided to enumerate through the elements of a * vector, the keys of a hashtable, and the values in a hashtable. * Enumerations are also used to specify the input streams to a * SequenceInputStream *

* 所有的方法都被提供来枚举Vector、hashtable中的键、值的元素。 * Enumeration

也被用来指定一个到SequenceInputStream的输入流。 * * NOTE: The functionality(功能) of this interface is duplicated by the Iterator * interface. In addition, Iterator adds an optional remove operation, and * has shorter method names. New implementations should consider using * Iterator in preference to(优先于...) Enumeration. * 提示:Enumeration
接口的功能已经被Iterator
接口赋复制。除此之外,Iterator
接口 * 添加了一个可选删除(元素)操作,以及更加简短的方法名。新的实现应该优先考虑使用Iterator
* 接口,而非Enumeration
。 * * @see java.util.Iterator * @see java.io.SequenceInputStream * @see java.util.Enumeration#nextElement() * @see java.util.Hashtable * @see java.util.Hashtable#elements() * @see java.util.Hashtable#keys() * @see java.util.Vector * @see java.util.Vector#elements() * * @author Lee Boynton * @since JDK1.0 历史遗留问题 */public interface Enumeration
{ /** * Tests if this enumeration contains more elements. * 测试是否此枚举还包含有元素。 * @return
true if and only if this enumeration object * contains at least one more element to provide; *
false otherwise. * 当且仅当此枚举对象还有至少一个元素可以提供,返回true;否则,返回false。 */ boolean hasMoreElements(); // 别少了s,老外写代码是很重视单复数滴 /** * Returns the next element of this enumeration if this enumeration * object has at least one more element to provide. * 如果此枚举对象还有至少一个元素可以提供,那么返回此枚举的下一个元素。 * @return the next element of this enumeration. * 返回此枚举的下一个元素 * @exception NoSuchElementException if no more elements exist. * 如果没有更多的元素存在,抛出NoSuchElementException异常 */ E nextElement();}

阅读完Enumeration<E>的源代码和翻译之后,想必您和我都有同一个想法:这玩意并没有什么*用。

那么为什么我们还要去了解这个接口的源代码呢?作用就是、、、能够装逼。

 

转载于:https://www.cnblogs.com/forget406/p/6064192.html

你可能感兴趣的文章
两个相似SQL的查询结果,以前未曾注意
查看>>
从VMware ESX Server 4升级到ESXi 5
查看>>
马化腾重组腾讯架构,扎根中国放眼世界
查看>>
在Hyper-V主机中支持VLAN
查看>>
VMM2012应用指南之1-实验环境概述与准备
查看>>
《Oracle AWR与ASH性能报告深入解析》-核心参数详解-手操-图文
查看>>
用大数据处理思路保护数据
查看>>
还是分了的好——看惠普、赛门铁克拆分
查看>>
yum和编译两种方式升级or降级Centos内核
查看>>
Android消息处理机制Looper和Handler详解
查看>>
C# 设置IE Cookie 从而实现自动打开需要登录的页面
查看>>
Android拓展系列(2)--Git使用
查看>>
脚踏实地,不要飘忽不定
查看>>
A Resegmentation Approach for Detecting Rectangular Objects in High-Resolution Imagery
查看>>
郁闷的时候干脆休息
查看>>
sql语句查询Oracle|sql server|access 数据库里的所有表名,字段名
查看>>
当 dynamic 遇上 internal
查看>>
webGL简单例子(klayge)
查看>>
如何在有int型主键遍历表中的某一列数据
查看>>
梯度下降法 Method of steepest descent.
查看>>