`

java枚举

 
阅读更多

枚举,之前一直忽视了其存在。其实挺有用。

 

java5开始支持枚举类型。枚举类型可以取代Java5版本之前的版本常量。当需要一个有限集合,而有限集合中的数据为特点值时,可以使用枚举类型。

 

枚举类型的定义使用关键字enum,其语法格式如下:

 

[public] enum 枚举类名称 [implements 接口名称列表]
{
    枚举值;
    变量成员声明及初始化方法;
    方法声明及方法体;
}

 

 

 

 

枚举类型可以看作一个类,每一个枚举值可以看作该类的一个对象

枚举类型的特点:

(1)枚举类型是类,不是简单的整数类型,枚举值是类的对象。

(2)枚举类型继承了java.lang.Enum。

(3)枚举类型没有public构造函数。

(4)枚举值是public static final 的。

 

 

以下参考JDK6.0 说明文档。

Enum类的定义:

 

 

public abstract class Enum<E extends Enum<E>>extends Object implements Comparable<E>, Serializable

 

 

 

Enum类的构造方法:

protected  Enum(String name, int ordinal) 

          构造方法。

        name - - 此枚举常量的名称,它是用来声明该常量的标识符。

        ordinal - - 枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。

 

 

Enum类的默认方法:

 

 protected  Object clone() 

          抛出 CloneNotSupportedException。 

 int compareTo(E o) 

          比较此枚举与指定对象的顺序。 

 boolean equals(Object other) 

          当指定对象等于此枚举常量时,返回 true。 

 protected  void finalize() 

          枚举类不能有 finalize 方法。 

 Class<E> getDeclaringClass() 

          返回与此枚举常量的枚举类型相对应的 Class 对象。 

 int hashCode() 

          返回枚举常量的哈希码。 

 String name() 

          返回此枚举常量的名称,在其枚举声明中对其进行声明。 

 int ordinal() 

          返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。 

 String toString() 

          返回枚举常量的名称,它包含在声明中。 

 static <T extends Enum<T>> T valueOf(Class<T> enumType, String name) 

          返回带指定名称的指定枚举类型的枚举常量。 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics