相关疑难解决方法(0)

如何从String值中查找Java枚举?

我想从其字符串值(或可能是任何其他值)查找枚举.我尝试了以下代码,但它不允许在初始化程序中使用静态代码.有一个简单的方法吗?

public enum Verbosity {

    BRIEF, NORMAL, FULL;

    private static Map<String, Verbosity> stringMap = new HashMap<String, Verbosity>();

    private Verbosity() {
        stringMap.put(this.toString(), this);
    }

    public static Verbosity getVerbosity(String key) {
        return stringMap.get(key);
    }
};
Run Code Online (Sandbox Code Playgroud)

java lookup enums

147
推荐指数
9
解决办法
22万
查看次数

如何在数据库中保存枚举

将枚举保存到数据库的最佳方法是什么?

我知道Java提供name()valueOf()方法来枚举值转换为字符串和背部.但是有没有其他(灵活的)选项来存储这些值?

有没有一种聪明的方法可以将枚举变成唯一的数字(ordinal()使用起来不安全)?

更新:

感谢所有令人敬畏和快速的答案!这是我怀疑的.

但请注意"工具包"; 这是一种方式.问题是我必须为我创建的每个Enum类型添加相同的方法.这是很多重复的代码,目前,Java不支持任何解决方案(Java枚举不能扩展其他类).

java database enums

115
推荐指数
7
解决办法
9万
查看次数

标签 统计

enums ×2

java ×2

database ×1

lookup ×1