2011-11-09 21 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; 
    } 
} 

列挙型をクラスとして扱われます。コンストラクタを記述し、メンバ変数と関数を持たせることができます。美しさは、各列挙型に対してコンストラクタが呼び出され、各型ごとに状態が維持される/

関連する問題