黑马程序员技术交流社区

标题: Enum与Enumeration为什么都叫枚举,有什么联系? [打印本页]

作者: 黄成超    时间: 2013-1-30 17:49
标题: Enum与Enumeration为什么都叫枚举,有什么联系?
Enum与Enumeration为什么都叫枚举,有什么联系?
作者: 刘郑瑞    时间: 2013-1-30 18:05
Enum是枚举类是java.lang包中的,Enumeration是接口事java.util包中。
Enumeration 中:
实现 Enumeration 接口的对象,它生成一系列元素,一次生成一个。连续调用 nextElement 方法将返回一系列的连续元素。

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

   for (Enumeration<E> e = v.elements(); e.hasMoreElements();)
       System.out.println(e.nextElement());
作者: 王立浩    时间: 2013-1-30 18:49
Enumeration  是一个接口出现的原因是为其他实现该接口的类提供遍历功能,目前基本上不用了,使用Iterator 替代了
而Enum是一种枚举类型 它把一些可以枚举出来的事物封装到一个枚举类中,方便于访问和使用,二者没啥关系

作者: 念满    时间: 2013-1-30 22:10
Enum是枚举,是所有 Java 语言枚举类型的公共基本类,
枚举:让某个类型的变量的取值只能为若干个固定的值中的一个
Enumeration为java.util中的接口 ,接口的功能与 Iterator 接口的功能是重复的,类似迭代器,已被Iterator取代;



作者: 吴在兴    时间: 2013-1-30 22:57
Enumeration:
Enumeration为java.util中的接口
已被Iterator取代。


Enum:
Enum为java.lang中的类
1.标识符 MONDAY, TUESDAY等就称为枚举常量(enumeration constants)且不可重复。每一个枚举常量被隐式的声明成Day的一个public、static成员,而且其类型为Day,亦就是说这些常量是self-typed的。

2.下面的定义也是合法的:
package basic;
public enum Day
{
    MONDAY, TUESDAT, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY,
}

package basic;
public enum Day
{
    MONDAY, TUESDAT, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY,;
}

package basic;
public enum Day
{
    MONDAY, TUESDAT, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;
}
但是当枚举类型有其他定义时,则分号;是必须的.
作者: 钱志新    时间: 2013-1-30 23:46
Enum是Java.lang包中的类,也是所有Java语言枚举类型的公共基本类。而Enumeration则是java.util包中的一个接口。Enum实现的接口只有Serializable和Comparable,并没有Enumeration,所有二者没什么联系,区别就是一个是类,一个是接口。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2