Java получает имя Enum с учетом значения Enum

Как я могу получить имя типа Java Enum с учетом его значения?

У меня есть следующий код, который работает для конкретного типа Enum, могу ли я сделать его более универсальным ?

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;
    }
}
47
задан Hearen 18 May 2018 в 03:05
поделиться