🪢Special Types

An enum is a special data type that defines a fixed set of constant values👉 {VALUE1, VALUE2, VALUE3}

To define an enum:

public enum Day {
  MONDAY, 
  TUESDAY, 
  WEDNESDAY  
}

To use an enum:

Day day = Day.MONDAY;

if(day == Day.MONDAY) {
  😀 // Do something
}

Benefits:

  • 📏 Defines a fixed set of values that is clear and understandable

  • 🔒 Limits variables to only those values, increasing program integrity

  • 🖥️ Concise and readable code using human-friendly labels vs integers

  • 🤖 Useful for representing defined, unchanging categories like statuses, states, options

Example

public class Main {

  // Define Weekday enum with constant values 
  public enum Weekday {
    MONDAY, 
    TUESDAY, 
    WEDNESDAY, 
    THURSDAY, 
    FRIDAY, 
    SATURDAY, 
    SUNDAY
  }

  public static void main(String[] args) {
  
    // Create Weekday variables using enum values
    Weekday today = Weekday.WEDNESDAY;
    Weekday tomorrow = Weekday.THURSDAY;

    // Use enum in conditionals
    if(today == Weekday.WEDNESDAY) {
      System.out.println("It's the middle of the week!");
    } else if(today == Weekday.SATURDAY) {
      System.out.println("It's the weekend!");
    }

    // Invalid assignment causes compile error
    Weekday invalidDay = "Tuesday"; 

  }

}

In this example, the Weekday enum defines the valid constant values. The main method shows variable declaration, conditionals, and attempted invalid assignment with enums.

Last updated