Overview of Enums in Java

Overview of Enums in Java

Java Programming tutorials

In Java, an Enum (which is brief for enumeration) is a particular knowledge kind 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 kind and has its personal distinctive identify. Enums had been launched method again in Java 5 and, since then, have turn out to be an important a part of the Java programming language. Enums present programmers a easy option to outline a set 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

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

You’ll be able to 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 will be seen within the code instance under:

enum EnumName {

Be aware 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.

Find out how to Use Enums in Java

Now that know outline an Enum, we are able to use it in our code, the identical as some other knowledge kind. Under are a number of code examples demonstrating use Enums in Java, together with:

    • Utilizing Enums in swap statements
    • Find out how to loop via Enums
    • Find out how to add strategies to Enums

Java Swap Assertion and Enums

One notably widespread method builders use Enums in Java is within 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 sort Course. We then set its preliminary worth to Course.UP. If we have to know the present worth of our variable d, we are able to name the swap assertion, which then prints a message utilizing the worth present in our Enum.

Learn: Introduction to Java Primitive Knowledge Sorts

Find out how to Loop By means of an Enum

It is usually doable to loop via the constants in an Enum utilizing a for loop in Java. Right here is an instance of use a for loop for Enum iteration:

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

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

Find out how to Add Strategies to an Enum in Java

Java Enums are a strong instrument which are able to rather more than merely defining units of constants. For example, let’s say we wished so as to add a technique to our Enum. We might do say with the next code snippet:

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

    non-public closing String description;

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

    public String getDescription() {
        return description;

Right here, we’ve got 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 can also include parameters, much like constructors in courses. For example, if we’ve got a dataset representing the planets in our photo voltaic system, we would have parameters for the mass and radius for every entry. We might 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 closing double mass;
    non-public closing double radius;
    non-public closing double surfaceGravity;

    non-public static closing 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, we’ve got outlined an Enum named Planets that incorporates 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.

Ultimate Ideas on Java Enums

Enums are, indubitably, a strong characteristic in Java that lets builders outline a set of named constants for later reference of their packages. 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 rather more.

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