- java.lang.Object
-
- java.lang.Enum<E>
-
- 参数类型
-
E
- 枚举类型子类
- 实现的所有接口
-
Serializable
,Comparable<E>
public abstract class Enum<E extends Enum<E>>extends Objectimplements Comparable<E>, Serializable
这是所有Java语言枚举类型的公共基类。 有关枚举的更多信息,包括编译器合成的隐式声明方法的描述,请参见The Java™ Language Specification的第8.9 节 。- 从以下版本开始:
- 1.5
- 另请参见:
-
Class.getEnumConstants()
,EnumSet
,EnumMap
, Serialized Form
-
-
方法摘要
所有方法 静态方法 实例方法 具体的方法 变量和类型 方法 描述 protected Object
clone()
抛出CloneNotSupportedException。int
compareTo(E o)
将此枚举与指定的订单对象进行比较。boolean
equals(Object other)
如果指定的对象等于此枚举常量,则返回true。protected void
finalize()
枚举类不能有finalize方法。类<E>
getDeclaringClass()
返回与此枚举常量的枚举类型对应的Class对象。int
hashCode()
返回此枚举常量的哈希码。String
name()
返回此枚举常量的名称,与其枚举声明中声明的完全相同。int
ordinal()
返回此枚举常量的序数(它在枚举声明中的位置,其中初始常量的序数为零)。String
toString()
返回声明中包含的此枚举常量的名称。static <T extends Enum<T>>
TvalueOf(类<T> enumType, String name)
返回具有指定名称的指定枚举类型的枚举常量。
-
-
-
构造方法详细信息
-
Enum
protected Enum(String name, int ordinal)
唯一的构造函数。 程序员无法调用此构造函数。 它由编译器发出的代码用于响应枚举类型声明。- 参数
-
name
- - 此枚举常量的名称,它是用于声明它的标识符。 -
ordinal
- - 此枚举常量的序数(它在枚举声明中的位置,其中初始常量的序数为零)。
-
-
方法详细信息
-
name
public final String name()
返回此枚举常量的名称,与其枚举声明中声明的完全相同。 大多数程序员应优先使用toString()
方法,因为toString方法可能会返回一个更加用户友好的名称。 此方法主要用于特殊情况,其中正确性取决于获取确切名称,该名称在不同版本之间不会有所不同。- 结果
- 这个枚举常量的名称
-
ordinal
public final int ordinal()
- 结果
- 这个枚举常数的序数
-
toString
public String toString()
返回声明中包含的此枚举常量的名称。 可以覆盖该方法,但通常不需要或不需要。 当存在更“程序员友好”的字符串形式时,枚举类型应该重写此方法。
-
equals
public final boolean equals(Object other)
如果指定的对象等于此枚举常量,则返回true。- 重写:
-
equals
在Object
类 - 参数
-
other
- 要与此对象进行相等性比较的对象。 - 结果
- 如果指定的对象等于此枚举常量,则返回true。
- 另请参见:
-
Object.hashCode()
,HashMap
-
hashCode
public final int hashCode()
返回此枚举常量的哈希码。- 重写:
-
hashCode
类Object
- 结果
- 此枚举常量的哈希码。
- 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
clone
protected final Object clone() throws CloneNotSupportedException
抛出CloneNotSupportedException。 这保证了枚举永远不会被克隆,这是保持其“单身”状态所必需的。- 重写:
-
clone
,类Object
- 结果
- (永不回归)
- 异常
-
CloneNotSupportedException
- 如果对象的类不支持Cloneable
接口。 覆盖clone
方法的子类也可以抛出此异常以指示无法克隆实例。 - 另请参见:
-
Cloneable
-
compareTo
public final int compareTo(E o)
将此枚举与指定的订单对象进行比较。 返回负整数,零或正整数,因为此对象小于,等于或大于指定对象。 枚举常量仅与同一枚举类型的其他枚举常量相当。 此方法实现的自然顺序是声明常量的顺序。- Specified by:
-
compareTo
在界面Comparable<E extends Enum<E>>
- 参数
-
o
- 要比较的对象。 - 结果
- 一个负整数,零或正整数,因为此对象小于,等于或大于指定的对象。
-
getDeclaringClass
public final 类<E> getDeclaringClass()
返回与此枚举常量的枚举类型对应的Class对象。 当且仅当e1.getDeclaringClass()== e2.getDeclaringClass()时,两个枚举常量e1和e2具有相同的枚举类型。 (此方法返回的值可能与Object.getClass()
方法返回的值不同,对于具有常量特定类主体的枚举常量。)- 结果
- 对应于此枚举常量的枚举类型的Class对象
-
valueOf
public static <T extends Enum<T>> T valueOf(类<T> enumType, String name)
返回具有指定名称的指定枚举类型的枚举常量。 该名称必须与用于声明此类型中的枚举常量的标识符完全匹配。 (不允许使用无关的空白字符。)请注意,对于特定的枚举类型
T
,可以使用该枚举上隐式声明的public static T valueOf(String)
方法代替此方法从名称映射到相应的枚举常量。 可以通过调用该类型的隐式public static T[] values()
方法来获取枚举类型的所有常量。- 参数类型
-
T
- 要返回其常量的枚举类型 - 参数
-
enumType
- 枚举类型的类
对象,从中返回常量 -
name
- 要返回的常量的名称 - 结果
- 具有指定名称的指定枚举类型的枚举常量
- 异常
-
IllegalArgumentException
- 如果指定的枚举类型没有具有指定名称的常量,或者指定的类对象不表示枚举类型 -
NullPointerException
- 如果enumType
或name
为空 - 从以下版本开始:
- 1.5
-
finalize
protected final void finalize()
枚举类不能有finalize方法。- 重写:
-
finalize
在类Object
- 另请参见:
-
WeakReference
,PhantomReference
-
-