Enum , Enum, , , java.lang.Enum:
static <T extends Enum<T>> T valueOf(Class<T> enumType, String name)
.
java.awt.Window.Type type = Enum.valueOf(java.awt.Window.Type.class, "NORMAL");
, Enum.valueOf IllegalArgumentException, .
Enum.valueOf , getter.getReturnType() Class<?>.
, :
@SuppressWarnings("unchecked")
private static <E extends Enum<E>> E getEnumValue(Class<?> c, String value)
{
return Enum.valueOf((Class<E>)c, value);
}
:
if (this.value instanceof String && this.getter.getReturnType().isEnum())
this.value = getEnumValue(getter.getReturnType(), (String)this.value));
, , Enum.getEnumConstants(), , Enum.valueOf .