2013-05-20 69 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