Convert a String to an enum in Java

Total Post:159

Points:1117
Java  String 
 1283  View(s)
Ratings:
Rate this:
Say I have an enum which is just

public enum Blah {
    A, B, C, D
}
and I would like to find the enum value of a string, for example "A" which would be Blah.A. How would it be possible to do this?

Is the Enum.valueOf() the method I need? If so, how would I use this?
  1. Post:397

    Points:3117
    Re: Convert a String to an enum in Java

    Yes, Blah.valueOf("A") will give you Blah.A.

    The static methods valueOf() and values() are created at compile time and do not appear in source code. They do appear in Javadoc, though; for example, Dialog.ModalityType shows both methods.  

    You can use Enum.valueOf(Blah.class, string) as well.  

    If you don't want to write your own utility use Google's guava library:
    Enums.getIfPresent(Blah.class, "A")  

Answer