Overview of Enums in Java



Java Programming tutorials

In Java, an Enum (which is brief for enumeration) is a particular information sort builders can use to outline a set of named constants. Each fixed that’s a part of an Enum is taken into account an occasion of the Enum sort and has its personal distinctive identify. Enums have been launched approach again in Java 5 and, since then, have change into a significant a part of the Java programming language. Enums present programmers a easy approach to outline a hard and fast set of values that may then be referenced in your code. We study extra about Enums on this programming tutorial.

Advantages of Enums in Java

Some of the essential advantages of Enums in Java is the truth that they assist make your code extra readable and fewer liable to errors and exceptions. Enums give us a approach to outline a set of associated values we will use all through our codebase. This eliminates (or lessens) the necessity to fear about typos or human errors when working with these information sorts. Moreover, Enums are type-safe, which signifies that the compiler will catch errors at compilation time, making debugging a a lot simpler course of.

You possibly can study extra about exception dealing with in our tutorial: Java Exception Dealing with.

Enum Syntax in Java

The syntax for outlining an enum in Java could be seen within the code instance under:

enum EnumName {

Notice that each fixed outlined within the Enum set must be separated by a comma. Here’s a simplified instance of defining an enum:

enum Course {

Within the above code instance, we outlined an Enum named Course, which contained 4 constants – UP, DOWN, LEFT, and RIGHT.

The way to Use Enums in Java

Now that know the right way to outline an Enum, we will use it in our code, the identical as some other information sort. Beneath are a number of code examples demonstrating the right way to use Enums in Java, together with:

    • Utilizing Enums in swap statements
    • The way to loop by way of Enums
    • The way to add strategies to Enums

Java Swap Assertion and Enums

One significantly widespread approach builders use Enums in Java is inside a swap assertion, as present within the following code pattern:

Course d = Course.UP;
swap (d) {
    case UP:
        System.out.println("Turning Up");
    case DOWN:
        System.out.println("Turning Down");
    case LEFT:
        System.out.println("Turning Left");
    case RIGHT:
        System.out.println("Turning Proper");

In our Java swap instance above, we outlined a variable named d that had the kind Course. We then set its preliminary worth to Course.UP. If we have to know the present worth of our variable d, we will name the swap assertion, which then prints a message utilizing the worth present in our Enum.

Learn: Introduction to Java Primitive Information Varieties

The way to Loop By way of an Enum

It’s also doable to loop by way of the constants in an Enum utilizing a for loop in Java. Right here is an instance of the right way to use a for loop for Enum iteration:

for (Course d : Course.values()) {

Within the above code, we used the values() methodology with the intention to retrieve an array of each fixed that resides in our Course Enum. Then we loop by way of the array, printing out every fixed we discover within the listing courtesy of System.out.println().

The way to Add Strategies to an Enum in Java

Java Enums are a robust instrument which are able to way more than merely defining units of constants. As an illustration, let’s say we needed so as to add a technique to our Enum. We may do say with the next code snippet:

enum Course {
    UP("Turning Up"),
    DOWN("Turning Down"),
    LEFT("Turning Left"),
    RIGHT("Turning Proper");

    non-public remaining String description;

    Course(String description) {
        this.description = description;

    public String getDescription() {
        return description;

Right here, now we have added a technique named getDescription() to our Course Enum. Each fixed in our Enum will now have a description discipline that will get set when the fixed is outlined (represented by the values in parentheses). The getDescription() methodology then returns the outline discovered for the given fixed in our Enum.

Java Enums with Parameters

Enums in Java might also comprise parameters, just like constructors in lessons. As an illustration, if now we have a dataset representing the planets in our photo voltaic system, we’d have parameters for the mass and radius for every entry. We may outline the dataset within the following method:

enum Planets {
    MercuryPlanet(3.303e+23, 2.4397e6),
    VenusPlanet(4.869e+24, 6.0518e6),
    EarthPlanet(5.976e+24, 6.37814e6),
    MarsPlanet(6.421e+23, 3.3972e6),
    JupiterPlanet(1.9e+27, 7.1492e7),
    SaturnPlanet(5.688e+26, 6.0268e7),
    UranusPlanet(8.686e+25, 2.5559e7),
    NeptunePlanet(1.024e+26, 2.4746e7);

    non-public remaining double mass;
    non-public remaining double radius;
    non-public remaining double surfaceGravity;

    non-public static remaining double G = 6.67300E-11;

    Planets(double mass, double radius) {
        this.mass = mass;
        this.radius = radius;
        this.surfaceGravity = G * mass / (radius * radius);

    public double getMass() {
        return mass;

    public double getRadius() {
        return radius;

    public double getSurfaceGravity() {
        return surfaceGravity;

    public double getSurfaceWeight(double otherMass) {
        return otherMass * surfaceGravity;

Above, now we have outlined an Enum named Planets that accommodates eight constants, every representing a planet in our photo voltaic system. Every fixed has a mass and radius parameter, that are used to calculate the surfaceGravity of the given planet. We additionally added a getSurfaceWeight() methodology, which takes a double parameter that represents the mass of an object after which returns the floor weight of that object on the planet in query.

Remaining Ideas on Java Enums

Enums are, certainly, a robust function in Java that lets builders outline a set of named constants for later reference of their applications. Enums make code extra readable, environment friendly, and fewer error susceptible. They can be utilized in a wide range of methods, together with as fixed definitions, in loops, in swap statements, and way more.

Learn extra Java programming tutorials and guides to software program improvement.