MM们
下面是我使用的一个漂亮的实用程序:/**
* A common method for all enums since they can't have another base class
* @param Enum type
* @param c enum type. All enums must be all caps.
* @param string case insensitive
* @return corresponding enum, or null
*/public static > T getEnumFromString(Class c, String string) {
if( c != null && string != null ) {
try {
return Enum.valueOf(c, string.trim().toUpperCase());
} catch(IllegalArgumentException ex) {
}
}
return null;}然后,在我的枚举类中,我通常使用这个来保存一些输入:public static MyEnum fromString(String name) {
return getEnumFromString(MyEnum.class, name);}如果您的枚举不是全部大写,只需更改Enum.valueOf排队。可惜我不能用T.class为Enum.valueOf如T被抹去了。