Java enum with String

In this quick tutorial, how to create String constants using enum, convert String to enum etc.
You can go though complete enum tutorial here.

Let’s create java enum String constants.

Create java enum String

package org.arpit.java2blog;

public enum Weekdays {

    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY
}

That’s pretty simple.

Access enum by name

You can simply use . operator to access enum but if you have string as enum name, then use of method.

package org.arpit.java2blog;

public class JavaEnumStringMain {

    public static void main(String[] args) {
        // You can simply use . operator
        Weekdays wd=Weekdays.TUESDAY;
        System.out.println("Week day:"+wd.name());

        // If you have String as "TUESDAY", you can use valueOf method
        Weekdays wdVal=Weekdays.valueOf("TUESDAY");
        System.out.println("Week day:"+wdVal.name());

    }

}

Output:

Week day:TUESDAY
Week day:TUESDAY

Please note that valueOf method takes the String argument as case sensitive.

package org.arpit.java2blog;

public class JavaEnumStringMain {

    public static void main(String[] args) {

        Weekdays wdVal=Weekdays.valueOf("TUesDAY");
        System.out.println("Week day:"+wdVal.name());
    }
}

Output:

Exception in thread “main” java.lang.IllegalArgumentException: No enum constant org.arpit.java2blog.Weekdays.TUesDAY
at java.base/java.lang.Enum.valueOf(Enum.java:240)
at org.arpit.java2blog.Weekdays.valueOf(Weekdays.java:1)
at org.arpit.java2blog.JavaEnumStringMain.main(JavaEnumStringMain.java:7)

Iteratve over all values of Enum with String constansts

You can simply iterate over all String constants using values method.

package org.arpit.java2blog;

public class JavaEnumStringMain {

    public static void main(String[] args) {

        for(Weekdays wd:Weekdays.values())
        {
            System.out.println(wd.name());
        }
    }
}

Output:

MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY

Let’s give an index to each week days with 1 to 5.You can simply change above enum as below.

package org.arpit.java2blog;

public enum Weekdays {

    MONDAY(1),
    TUESDAY(2),
    WEDNESDAY(3),
    THURSDAY(4),
    FRIDAY(5);

    private int index;

    Weekdays(int index)
    {
        this.index=index;
    }
    public int getIndex() {
        return index;
    }

    public void setIndex(int index) {
        this.index = index;
    }

}

Access the index of any weekdays

package org.arpit.java2blog;

public class JavaEnumStringMain {

    public static void main(String[] args) {

        int index=Weekdays.THURSDAY.getIndex();
        System.out.println("Index of Thrusday is: "+index);
    }
}

Output:

Index of Thrusday is: 4

That’s all about Java enum String.

[social_share share_on="facebook,twitter,linkedin,whatsapp"][post_navigator in_same_term="true"]

Leave a Reply

Your email address will not be published. Required fields are marked *

Subscribe to our newletter

Get quality tutorials to your inbox. Subscribe now.