java.lang.Object
java.lang.Enum
所有已实现的接口:
Serializable, Comparable
public abstract class Enum>
extends Object
implements Comparable, Serializable
这是所有 Java 语言枚举类型的公共基本类。
从以下版本开始:
1.5
另请参见:
序列化表格
构造方法摘要
protected
Enum(String name, int ordinal)
单独的构造方法。
方法摘要
protected Object
clone()
抛出 CloneNotSupportedException。
int
compareTo(E o)
比较此枚举与指定对象的顺序。
boolean
equals(Object other)
当指定对象等于此枚举常量时,返回 true。
Class
getDeclaringClass()
返回与此枚举常量的枚举类型相对应的 Class 对象。
int
hashCode()
返回枚举常量的哈希码。
String
name()
返回此枚举常量的名称,在其枚举声明中对其进行声明。
int
ordinal()
返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。
String
toString()
返回枚举常量的名称,它包含在声明中。
static
>
T
valueOf(Class enumType, String name)
返回带指定名称的指定枚举类型的枚举常量。
从类 java.lang.Object 继承的方法
finalize, getClass, notify, notifyAll, wait, wait, wait
构造方法详细信息
Enum
protected Enum(String name, int ordinal)
单独的构造方法。程序员无法调用此构造方法。该构造方法用于由响应枚举类型声明的编译器发出的代码。参数:
name - - 此枚举常量的名称,它是用来声明该常量的标识符。
ordinal - - 枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。
方法详细信息
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> 中的 compareTo
参数:
o - 要比较的对象。
返回:
负整数、零或正整数,根据此对象是小于、等于还是大于指定对象。
getDeclaringClass
public final Class getDeclaringClass()
返回与此枚举常量的枚举类型相对应的 Class 对象。当且仅当 e1.getDeclaringClass() == e2.getDeclaringClass() 时,两个枚举常量 e1 和 e2 的枚举类型才相同。(由该方法返回的值不同于由Object.getClass() 方法返回的值,Object.getClass() 方法用于带有特定常量的类主体的枚举常量。)
返回:
与此枚举常量的枚举类型相对应的 Class 对象
valueOf
public static > T valueOf(Class enumType, String name)
返回带指定名称的指定枚举类型的枚举常量。名称必须与在此类型中声明枚举常量所用的标识符完全匹配。(不允许使用额外的空白字符。)
参数:
enumType - 要从中返回常量的枚举类型的 Class 对象
name - 要返回的常量名称
返回:
带指定名称的指定枚举类型的枚举常量
抛出:
IllegalArgumentException - 如果指定枚举类型不包含指定名称的常量,或者指定类对象不表示枚举类型
NullPointerException - 如果 enumType 或 name 为空
从以下版本开始:
1.5