Package java.lang
Class Enum<E extends Enum<E>>
- java.lang.Object
-
- java.lang.Enum<E>
-
- All Implemented Interfaces:
Serializable
,Comparable<E>
,Modified
public abstract class Enum<E extends Enum<E>> extends Object implements Serializable, Comparable<E>, Modified
The superclass of all enumerated types. Actual enumeration types inherit from this class, but extending this class does not make a class an enumeration type, since the compiler needs to generate special information for it.- See Also:
- Serialized Form
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compareTo(E o)
Compares this object to the specified enum object to determine their relative order.boolean
equals(Object other)
Compares this object with the specified object and indicates if they are equal.int
hashCode()
Returns an integer hash code for this object.String
name()
Returns the name of this enum constant.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>>
TvalueOf(T[] enumValues, String name)
Returns the constant with the specified name of the specified enum type.
-
-
-
Constructor Detail
-
Enum
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.
-
-
Method Detail
-
name
public final String name()
Returns the name of this enum constant. The name is the field as it appears in theenum
declaration.- Returns:
- the name of this enum constant.
- See Also:
toString()
-
ordinal
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.
-
toString
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.
-
equals
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.- Overrides:
equals
in classObject
- Parameters:
other
- the object to compare this enum constant with.- Returns:
true
if the specified object is equal to thisEnum
;false
otherwise.- See Also:
Object.hashCode()
-
hashCode
public final int hashCode()
Description copied from class:Object
Returns an integer hash code for this object. By contract, any two objects for whichObject.equals(java.lang.Object)
returnstrue
must return the same hash code value. This means that subclasses ofObject
usually override both methods or neither method.Note that hash values must not change over time unless information used in equals comparisons also changes.
See Writing a correct
hashCode
method if you intend implementing your ownhashCode
method.- Overrides:
hashCode
in classObject
- Returns:
- this object's hash code.
- See Also:
Object.equals(java.lang.Object)
-
compareTo
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.- Specified by:
compareTo
in interfaceComparable<E extends Enum<E>>
- 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 ando
are equal; a positive value if the ordinal value of this enum constant is greater than the ordinal value ofo
. - See Also:
Comparable
-
valueOf
public static <T extends Enum<T>> T valueOf(T[] enumValues, String name)
Returns the constant with the specified name of the specified enum type.- Type Parameters:
T
- The enum type whose constant is to be returned.- Parameters:
enumValues
- 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 eitherenumType
orname
arenull
.IllegalArgumentException
- ifenumType
is not an enumerated type or does not have a constant value calledname
.
-
-