StackTips

Enums in Java

Updated On: Sep 17, 2022

Enums, short for enumerations in Java are a group of named constants that you can define in an array-like structure. They are useful for when you want to create a bunch of related values.

Defining an Enum

Let's dive straight into it and define an enum using the enum keyword:

enum Fruit {
    APPLE,
    ORANGE,
    BANANA
}

This enum we have created is named Fruit and it contains three items in it. Keep in mind that it is convention to capitalize all the names. Inside a class, it can look like this:

public class Main {

    enum Fruit {
        APPLE,
        ORANGE,
        BANANA
    }

    public static void main(String[] args) {

    }
}

Using an Enum value

Now that we have our enum, we can decide to use it. A common way enums are used are inside a switch statement. Let's see how that looks:

public class Main {

    enum Fruit {
        APPLE,
        ORANGE,
        BANANA
    }

    public static void main(String[] args) {
        Fruit fruit = Fruit.APPLE;
        switch(fruit) {
            case APPLE:
                System.out.println("An apple was found!");
                break;
            case ORANGE:
                System.out.println("An orange was found!");
                break;
            case BANANA:
                System.out.println("A banana was found!");
                break;
        }
    }
}
An apple was found!

Looping through Enums

Instead of using an enum one at a time, you can loop through them all by using the values() method which returns an array of all the enum values. This then allows you to loop over all of them:

public class Main {

    enum Fruit {
        APPLE,
        ORANGE,
        BANANA
    }

    public static void main(String[] args) {
        for (Fruit fruit : Fruit.values()) {
            System.out.println(fruit);
        }
    }
}
APPLE
ORANGE
BANANA

For the most part, enums are used when you know the value of them will not change and there's a finite number of them, since they are constant. Real world examples of good cases to use enums include the months in a year, a list of US states, time zones, and the planets in our solar system, to name a few.