Java 在给定枚举值的情况下获取枚举名称

新手上路,请多包涵

如何在给定值的情况下获取 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;
    }
}

原文由 Julia 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 859
1 个回答

您应该通过调用 --- 方法来替换您的 getEnumNameForValue name() 方法。

原文由 Riduidel 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题