Convert String to Enum Instance in Java

Recently while working in one of the requirement, I had to convert String values to Enum. I didn’t realize there is a simplest way of doing this. Here is the solution. Whenever an ENUM is complied in Java, two static methods are added by compiler called valueOf() and values(). We can use valueOf() method to convert any String value to ENUM. For example lets say we have an ENUM called Weekdays.
package net.viralpatel.java.enum; public enum Weekdays { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }
Code language: Java (java)
Now we want to get an instance of Weekdays enum from string values lets say “Monday”, “Tuesday” etc. We can get this as follow:
Weekdays weekday = Weekdays.valueOf("Monday"); System.out.println(weekday);
Code language: Java (java)
Output:
Monday
One thing we need to take care here is if we pass an invalid string to valueOf() method like “XYZ”, the method will give a runtime exception.
Weekdays weekday = Weekdays.valueOf("XYZ"); System.out.println(weekday);
Code language: Java (java)
Output:
Exception in thread "main" java.lang.IllegalArgumentException: No enum const class net.viralpatel.java.enum.Weekdays.XYZ at java.lang.Enum.valueOf(Enum.java:192)
Code language: Java (java)
Happy converting :)

View Comments

Recent Posts

  • Java

Java URL Encoder/Decoder Example

Java URL Encoder/Decoder Example - In this tutorial we will see how to URL encode/decode…

5 years ago
  • General

How to Show Multiple Examples in OpenAPI Spec

Show Multiple Examples in OpenAPI - OpenAPI (aka Swagger) Specifications has become a defecto standard…

5 years ago
  • General

How to Run Local WordPress using Docker

Local WordPress using Docker - Running a local WordPress development environment is crucial for testing…

5 years ago
  • Java

Create and Validate JWT Token in Java using JJWT

1. JWT Token Overview JSON Web Token (JWT) is an open standard defines a compact…

5 years ago
  • Spring Boot

Spring Boot GraphQL Subscription Realtime API

GraphQL Subscription provides a great way of building real-time API. In this tutorial we will…

5 years ago
  • Spring Boot

Spring Boot DynamoDB Integration Test using Testcontainers

1. Overview Spring Boot Webflux DynamoDB Integration tests - In this tutorial we will see…

5 years ago