Java Tutorial

Java Control Statements

Object Oriented Programming

Java Built-in Classes

Java File Handling

Java Error & Exceptions

Java Multithreading

Java Synchronization

Java Networking

Java Collections

Java List Interface

Java Queue Interface

Java Map Interface

Java Set Interface

Java Data Structures

Java Collections Algorithms

Java Miscellaneous

Advanced Java

Java APIs & Frameworks

Java Useful Resources

Java - Enum Class

Java Enum Class

Java Enum class is the common base class for all enumeration types. It is a special class that contains a group of pre-defined constant values that are known at the compile-time itself.

Java Enum 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

Java Enum Class Constructors

Sr.No. Constructor & Description

protected Enum(String name, int ordinal)

This is the single constructor.

Java Enum Class Methods

Sr.No. Method & Description
1 protected Object clone()

This method throws CloneNotSupportedException.

2 int compareTo(E o)

This method compares this enum with the specified object for order.

3 boolean equals(Object other)

This method returns true if the specified object is equal to this enum constant.

4 protected void finalize()

This method returns enum classes cannot have finalize methods.

5 Class<E> getDeclaringClass()

This method returns the Class object corresponding to this enum constant's enum type.

6 int hashCode()

This method returns a hash code for this enum constant.

7 String name()

This method returns the name of this enum constant, exactly as declared in its enum declaration.

8 int 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).

9 String toString()

This method returns the name of this enum constant, as contained in the declaration.

10 static <T extends Enum<T>> T valueOf(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

Java Enum Class Example

Following example showcases the usage of enum in if and switch statements.

package com.tutorialspoint;
public class EnumDemo {
   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 {


Let us compile and run the above program, this will produce the following result −