2013-05-20 65 views
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 
}  

现在,如果我需要另一个枚举存放一些不同的常量我不不想重复访问器的代码等等。有没有办法使某种泛型枚举'模板',以便我可以设置常量并有访问函数的免费功能?我经常需要使用这种枚举,因此为它提供某种模板会很有用。

有没有一种很好的方法来做到这一点?非常感谢!

回答

3

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

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

public interface ConstantEnum { 
    int getCode(); 
} 

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

+0

相关知识感谢您的快速答复邓肯 - (我会尽快接受答案!) – Matthew