带有“继承”访问者的枚举

时间:2013-05-20 07:51:43

标签: java enums

我在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
}    

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

有一个很好的方法吗?非常感谢!

1 个答案:

答案 0 :(得分:3)

因为无法扩展枚举,所以没有简单的方法。

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

public interface ConstantEnum {
  int getCode();
}

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