如何根据Java枚举类型的值获取其名称?
下面是我已经有的代码,它适用于 特定的 枚举类型,我能否将它变得更加 通用?
public enum Category {
APPLE("3"),
ORANGE("1"),
private final String identifier;
private Category(String identifier) {
this.identifier = identifier;
}
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.equalsIgnoreCase(value)) {
return eachValue.name();
}
}
return enumValue;
}
}
Category.valueOf(name)
。 - ThilonameOf(String name)
,现在对于每个我都要写一个*Enum.values().stream().filter(...).findAny().get()
,这太烦人了。 - Hearen