Enum.valueOf will do this, but it is pretty legible in this type. Make sure you drop Class on Class<? extends Enum> Class<? extends Enum> . Example:
enum Foo { BLAT, BLARG }; System.out.println(Enum.valueOf((Class<? extends Enum>)Class.forName("Foo"), "BLARG"));
source share