
The Java enum class has a built-in method named valueOf() that allows you to convert a String into its equivalent enum value.
The valueOf() method of the enum class is a static method, so you can call it directly from the class without creating an instance.
Let’s see an example of converting a String into an enum.
Suppose you have a ColorsEnum declared in your Java code as follows:
enum ColorsEnum {
RED, GREEN, BLUE;
}
You can convert any String value that matches one of the three ColorsEnum values above.
For example, the string "RED" will be converted to ColorsEnum.RED like this:
ColorsEnum color = ColorsEnum.valueOf("RED");
System.out.println(color); // RED
System.out.println(color == ColorsEnum.RED); // true
Please note that the valueOf() method accepts only a String type value and is case-sensitive.
When the string doesn’t match the case of any enum values, Java will throw the IllegalArgumentException error:
ColorsEnum color = ColorsEnum.valueOf("red");
// ERROR: No enum constant Main.ColorsEnum.red
ColorsEnum color = ColorsEnum.valueOf("WHITE");
// ERROR: No enum constant Main.ColorsEnum.WHITE
Here’s the complete Java code for converting a String into an enum value:
class Main {
// Create the enum class
enum ColorsEnum {
RED, GREEN, BLUE;
}
public static void main(String[] myArgs) {
// Convert the string into an enum
ColorsEnum color = ColorsEnum.valueOf("RED");
System.out.println(color); // RED
System.out.println(color == ColorsEnum.RED); // true
}
}
Now you’ve learned how to convert a String into an enum in Java.
Feel free to use the code above in your Java project. 😉