2011-11-09 83 views
9

假設我有一些枚舉類似如下:如何將一個字符串與枚舉的每個成員關聯?

enum Towns { Rome, Napoli, Modena } 

我想每個枚舉成員的字符串相關聯。理想情況下,字符串應該是一個描述。我想確保每個鎮有一個說明:

Rome - Beautiful 
Napoli - Good pizza 
Modena - Ferrari store 

我也想擁有它給我一個編譯時錯誤,如果一些城鎮沒有說明。

回答

16
public enum Towns { 
    Rome("rome") 
    , Napoli("napoli") 
    , Modena("modena"); 

    private String desc; 
    Towns(String desc) { 
     this.desc=desc; 
    } 

    public String getDesc() { 
     return desc; 
    } 
} 
4
enum Towns { 
    Rome("Rome-beautiful"); 
    //add other enum types here too 

    private String desc; 
    Towns(String desc) 
    { 
     this.desc=desc; 
    } 

    public String getDesc() 
    { 
     return desc; 
    } 
} 

枚舉被視爲類。你可以寫一個構造函數,具有成員變量和函數。美是,構造函數被稱爲每個枚舉類型和狀態維護每個類型/