What Data Type Is Enum in Java?


Larry Thompson

In Java, the enum data type is used to define a set of named constants. An enum in Java is a special kind of class that represents a group of related constants. These constants are usually referred to as enumerations, hence the name ‘enum’.

Declaring an Enum

To declare an enum in Java, you use the enum keyword followed by the name of the enum and a list of its possible values enclosed in curly braces {}. Each value is separated by a comma.


enum Weekday {

Enum Constants

An enum constant is an instance of the enum class. Each constant has an associated name and an ordinal value. By default, the ordinal values start from zero and increment by one for each constant.

You can access the constants of an enum using dot notation. For example, to access the first constant MONDAY, you would write Weekday.MONDAY.

Using Enums in Java

The main advantage of using enums in Java is that they provide a way to represent a fixed set of values. Enums can be used in switch statements, as method parameters, and even as fields within classes.

Switch Statements:

An enum can be used as the controlling expression in a switch statement. This allows you to perform different actions based on the value of the enum constant.

Weekday day = Weekday.MONDAY;

switch(day) {
  case MONDAY:
    System.out.println("It's Monday!");
  case TUESDAY:
    System.println("It's Tuesday!");
  // ..

Method Parameters:

Enums can also be used as parameters in methods to restrict the values that can be passed.

public void printDayOfWeek(Weekday day) {
  System.println("Today is " + day);


Fields within Classes:

You can declare fields of enum types within classes. This allows you to define constants specific to a particular class.

class Car {
  enum Color {

  Color color;

Car myCar = new Car();
myCar.color = Car.Color.RED;

Enum Methods

The enum class in Java provides several useful methods that can be used to manipulate and retrieve information about enums. Some of these methods include:

  • values(): Returns an array of all the enum constants.
  • valueOf(String name): Returns the enum constant with the specified name.
  • ordinal(): Returns the ordinal value of an enum constant.


Weekday[] allDays = Weekday.values();

for (Weekday day : allDays) {
  System.println(day + " has ordinal value " + day.ordinal());

Weekday tuesday = Weekday.valueOf("TUESDAY");
System.println(tuesday); // Output: TUESDAY


The enum data type in Java is a powerful feature that allows you to define a set of named constants. Enums are widely used in Java programs to represent a fixed set of values and provide type safety. With their concise syntax and built-in methods, enums make it easy to work with sets of related constants.

So, the next time you find yourself needing to represent a group of related constants in your Java code, consider using an enum!

Discord Server - Web Server - Private Server - DNS Server - Object-Oriented Programming - Scripting - Data Types - Data Structures

Privacy Policy