1

我在Java中使用仅包含常量值的枚举并使用访问器来检索值,例如

public enum MyConstants {
    CONST0(0),
    CONST1(1);
    private final int code;

    private MyConstants(int code) {
        this.code = code;
    }

    public int getCode() {
        return this.code;
    }

    // more accessor type functions etc
}    

现在,如果我需要另一个枚举来存储一些不同的常量,我不想为访问器等重复代码。有没有办法制作某种通用枚举“模板”,这样我就可以设置常量和有免费的访问器功能吗?我经常需要使用这种枚举,因此为它提供某种模板会很有用。

有什么好的方法吗?非常感谢!

4

1 回答 1

3

因为枚举不能扩展,所以没有简单的方法可以做到这一点。

一个想法是定义一个您的枚举将实现的接口。然后,至少,您的 IDE 可以帮助您自动生成方法:

public interface ConstantEnum {
  int getCode();
}

或者,在 IDE 中配置模板以加快编码速度。

于 2013-05-20T07:54:51.017 回答