首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

【Java】枚举部类Enum介绍和方法详解

2012-12-20 
【Java】枚举类型Enum介绍和方法详解类 EnumE extends EnumEjava.lang.Objectjava.lang.EnumE所有已实

【Java】枚举类型Enum介绍和方法详解

类 Enum<E extends Enum<E>>

java.lang.Object  【Java】枚举部类Enum介绍和方法详解java.lang.Enum<E>
所有已实现的接口:
Serializable, Comparable<E>
public abstract class Enum<E extends Enum<E>>
extends Object
implements Comparable<E>, Serializable

这是所有 Java 语言枚举类型的公共基本类。

?

?

从以下版本开始:
1.5
另请参见:
序列化表格

protectedEnum(String?name, int?ordinal)
??????????单独的构造方法。?protected ?Objectclone()
??????????抛出 CloneNotSupportedException。?intcompareTo(E?o)
??????????比较此枚举与指定对象的顺序。?booleanequals(Object?other)
??????????当指定对象等于此枚举常量时,返回 true。?Class<E>getDeclaringClass()
??????????返回与此枚举常量的枚举类型相对应的 Class 对象。?inthashCode()
??????????返回枚举常量的哈希码。?Stringname()
??????????返回此枚举常量的名称,在其枚举声明中对其进行声明。?intordinal()
??????????返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。?StringtoString()
??????????返回枚举常量的名称,它包含在声明中。static<T extends Enum<T>>?
T
valueOf(Class<T>?enumType, String?name)
??????????返回带指定名称的指定枚举类型的枚举常量。?方法详细信息

name
public final String name()
返回此枚举常量的名称,在其枚举声明中对其进行声明。与此方法相比,大多数程序员应该优先考虑使用toString()?方法,因为 toString 方法返回更加用户友好的名称。该方法主要设计用于特殊情形,其正确性取决于获得正确的名称,其名称不会随版本的改变而改变。

?

返回:
枚举常量的名称

ordinal
public final int ordinal()
返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。大多数程序员不会使用此方法。它被设计用于复杂的基于枚举的数据结构,比如?EnumSet?和?EnumMap

?

返回:
枚举常量的序数

toString
public String toString()
返回枚举常量的名称,它包含在声明中。可以重写此方法,虽然一般来说没有必要。当存在更加“程序员友好的”字符串形式时,应该使用枚举类型重写此方法。

?

覆盖:
类?Object?中的?toString
返回:
枚举常量的名称

equals
public final boolean equals(Object?other)
当指定对象等于此枚举常量时,返回 true。

?

覆盖:
类?Object?中的?equals
参数:
other?- 要与此对象进行相等性比较的对象。
返回:
如果指定对象等于此枚举常量,则返回 true。
另请参见:
Object.hashCode(),?Hashtable

hashCode
public final int hashCode()
返回枚举常量的哈希码。

?

覆盖:
类?Object?中的?hashCode
返回:
枚举常量的哈希码。
另请参见:
Object.equals(java.lang.Object),?Hashtable

clone
protected final Object clone()                      throws CloneNotSupportedException
抛出 CloneNotSupportedException。这可保证永远不会克隆枚举,这对于保留其“单元素”状态是必需的。

?

覆盖:
类?Object?中的?clone
返回:
此实例的一个克隆。
抛出:
CloneNotSupportedException?- 如果对象的类不支持?Cloneable?接口,则重写?clone?方法的子类也会抛出此异常,以指示无法克隆某个实例。
另请参见:
Cloneable

compareTo
public final int compareTo(E?o)
比较此枚举与指定对象的顺序。在该对象小于、等于或大于指定对象时,分别返回负整数、零或正整数。枚举常量只能与相同枚举类型的其他枚举常量进行比较。该方法实现的自然顺序就是声明常量的顺序。

?

指定者:
接口?Comparable<E extends Enum<E>>?中的?compareTo
参数:
o?- 要比较的对象。
返回:
负整数、零或正整数,根据此对象是小于、等于还是大于指定对象。

getDeclaringClass
public final Class<E> getDeclaringClass()
返回与此枚举常量的枚举类型相对应的 Class 对象。当且仅当 e1.getDeclaringClass() == e2.getDeclaringClass() 时,两个枚举常量 e1 和 e2 的枚举类型才相同。(由该方法返回的值不同于由Object.getClass()?方法返回的值,Object.getClass()?方法用于带有特定常量的类主体的枚举常量。)

?

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

valueOf
public static <T extends Enum<T>> T valueOf(Class<T>?enumType,                                            String?name)
返回带指定名称的指定枚举类型的枚举常量。名称必须与在此类型中声明枚举常量所用的标识符完全匹配。(不允许使用额外的空白字符。)

?

参数:
enumType?- 要从中返回常量的枚举类型的?Class?对象
name?- 要返回的常量名称
返回:
带指定名称的指定枚举类型的枚举常量
抛出:
IllegalArgumentException?- 如果指定枚举类型不包含指定名称的常量,或者指定类对象不表示枚举类型
NullPointerException?- 如果?enumType?或?name?为空
从以下版本开始:
1.5




?

热点排行