public abstract class

Enum

extends Object
implements Serializable Comparable<T>
java.lang.Object
   ↳ java.lang.Enum<E extends java.lang.Enum<E>>
Known Direct Subclasses

Class Overview

The superclass of all enumerated types. Actual enumeration types inherit from this class, but extending this class does not make a class an enumration type, since the compiler needs to generate special information for it.

Summary

Protected Constructors
Enum(String name, int ordinal)
Constructor for constants of enum subtypes.
Public Methods
final int compareTo(E o)
Compares this object to the specified enum object to determine their relative order.
final boolean equals(Object other)
Compares this object with the specified object and indicates if they are equal.
final Class<E> getDeclaringClass()
Returns the enum constant's declaring class.
final int hashCode()
Returns an integer hash code for this object.
final String name()
Returns the name of this enum constant.
final int ordinal()
Returns the position of the enum constant in the declaration.
String toString()
Returns a string containing a concise, human-readable description of this object.
static <T extends Enum<T>> T valueOf(Class<T> enumType, String name)
Returns the constant with the specified name of the specified enum type.
Protected Methods
final Object clone()
Enum objects are singletons, they may not be cloned.
[Expand]
Inherited Methods
From class java.lang.Object
From interface java.lang.Comparable

Protected Constructors

protected Enum (String name, int ordinal)

Constructor for constants of enum subtypes.

Parameters
name the enum constant's declared name.
ordinal the enum constant's ordinal, which corresponds to its position in the enum declaration, starting at zero.

Public Methods

public final int compareTo (E o)

Compares this object to the specified enum object to determine their relative order. This method compares the object's ordinal values, that is, their position in the enum declaration.

Parameters
o the enum object to compare this object to.
Returns
  • a negative value if the ordinal value of this enum constant is less than the ordinal value of o; 0 if the ordinal values of this enum constant and o are equal; a positive value if the ordinal value of this enum constant is greater than the ordinal value of o.
See Also

public final boolean equals (Object other)

Compares this object with the specified object and indicates if they are equal. In order to be equal, object must be identical to this enum constant.

Parameters
other the object to compare this enum constant with.
Returns
  • true if the specified object is equal to this Enum; false otherwise.

public final Class<E> getDeclaringClass ()

Returns the enum constant's declaring class.

Returns
  • the class object representing the constant's enum type.

public final int hashCode ()

Returns an integer hash code for this object. By contract, any two objects for which equals(Object) returns true must return the same hash code value. This means that subclasses of Object usually override both methods or neither method.

Returns
  • this object's hash code.

public final String name ()

Returns the name of this enum constant. The name is the field as it appears in the enum declaration.

Returns
  • the name of this enum constant.
See Also

public final int ordinal ()

Returns the position of the enum constant in the declaration. The first constant has an ordinal value of zero.

Returns
  • the ordinal value of this enum constant.

public String toString ()

Returns a string containing a concise, human-readable description of this object. In this case, the enum constant's name is returned.

Returns
  • a printable representation of this object.

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

Returns the constant with the specified name of the specified enum type.

Parameters
enumType the class of the enumerated type to search for the constant value.
name the name of the constant value to find.
Returns
  • the enum constant.
Throws
NullPointerException if either enumType or name are null.
IllegalArgumentException if enumType is not an enumerated type or does not have a constant value called name.

Protected Methods

protected final Object clone ()

Enum objects are singletons, they may not be cloned. This method always throws a CloneNotSupportedException.

Returns
  • does not return.
Throws
CloneNotSupportedException is always thrown.