Comment obtenir le nom d'un type Java Enum donné sa valeur?Java obtenant le nom Enum donné la valeur Enum
J'ai écrit un code qui fonctionne pour un type Enum particulier, puis-je le rendre plus générique?
Le type ENUM:
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;
}
}
Y at-il une raison particulière pour laquelle vous voulez utiliser autre chose que le nom() du Enum pour les regardant? Cela perturberait beaucoup de gens, et vous ne pouvez pas non plus utiliser un simple 'Category.valueOf (name)'. – Thilo