查找Java枚举的最佳实践

22 浏览
0 Comments

查找Java枚举的最佳实践

我们有一个REST API,客户端可以提供参数,这些参数代表服务器上定义的Java Enums中的值。

为了提供一个描述性的错误,我们为每个枚举类添加了这个lookup方法。看起来我们只是在复制代码(不好)。有更好的做法吗?

public enum MyEnum {
    A, B, C, D;
    public static MyEnum lookup(String id) {
        try {
            return MyEnum.valueOf(id);
        } catch (IllegalArgumentException e) {
            throw new RuntimeException("无效的值 for my enum blah blah: " + id);
        }
    }
}

更新:valueOf(..)提供的默认错误消息将是No enum const class a.b.c.MyEnum.BadValue。我想在API中提供一个更具描述性的错误消息。

0