如何获取Java枚举类型的名称给定其值?
我编写的代码适用于一个特定的枚举类型,我可以让它更通用吗?
枚举类型:
public enum Category {
APPLE("3"),
ORANGE("1"),
GRAPE("GRAPE"),
BANANA("Banana");
private final String identifier;
/**
* Constructor.
*
* @param identifier
* - identfier.
*/
private Category(String identifier) {
this.identifier = identifier;
}
/**
* {@inheritDoc}
*/
public String toString() {
return identifier;
}
public static String getEnumNameForValue(Object value){
Category[] values = Category.values();
String enumValue = null;
for(Category eachValue : values) {
enumValue =eachValue.toString();
if (enumValue.equals(value)) {
return eachValue.name();
}
}
return enumValue;
}
}