Enum in Java

The java.lang.Enum class is the common base class of all Java language enumeration types.

Class Declaration

Following is the declaration for java.lang.Enum class −

public abstract class Enum<E extends Enum<E>>
extends Object
implements Comparable<E>, Serializable

Class constructors

Sr.No.Constructor & Description
1protected Enum(String name, int ordinal)
This is the single constructor.

Class methods

Sr.No.Method & Description
1protected Object clone()This method throws CloneNotSupportedException.
2int compareTo(E o)This method compares this enum with the specified object for order.
3boolean equals(Object other)This method returns true if the specified object is equal to this enum constant.
4protected void finalize()This method returns enum classes cannot have finalize methods.
5Class<E> getDeclaringClass()This method returns the Class object corresponding to this enum constant's enum type.
6int hashCode()This method returns a hash code for this enum constant.
7String name()This method returns the name of this enum constant, exactly as declared in its enum declaration.
8int ordinal()This method returns the ordinal of this enumeration constant (its position in its enum declaration, where the initial constant is assigned an ordinal of zero).
9String toString()This method returns the name of this enum constant, as contained in the declaration.
10static <T extends Enum<T>> TvalueOf(Class<T> enumType, String name)This method returns the enum constant of the specified enum type with the specified name.

Methods inherited

This class inherits methods from the following classes −

  • java.lang.Object


Let us look at an example.

public class Tester{
   public static void main(String args[]) {
      //print an Enum

      Mobile mobile = Mobile.Samsung;
      //Usage in IF statment
      if(mobile == Mobile.Samsung) {
      //Usage in Swith statment
      switch(mobile) {
         case Samsung:
         case Nokia:
         case Motorola:
enum Mobile {
   Samsung, Nokia, Motorola;

This will produce the following result −