2011-11-09 10 views
9

Załóżmy Mam enum tak:Jak skojarzyć ciąg z każdym elementem wyliczonym?

enum Towns { Rome, Napoli, Modena } 

Chcę powiązać ciąg dla każdego członka enum. Idealnie, ciąg powinien być opisem. Chcę się upewnić, że każde miasto ma opis:

Rome - Beautiful 
Napoli - Good pizza 
Modena - Ferrari store 

Chciałbym również, aby dać mi błąd czasu kompilacji, jeśli niektóre miasta nie ma opisu.

Odpowiedz

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; 
    } 
} 

wyliczenia są traktowane jako klasy. Możesz napisać konstruktor, mieć zmienne składowe i funkcje. Piękno jest takie, że konstruktor jest wywoływany dla każdego typu wyliczeniowego i stan jest utrzymywany dla każdego typu/

Powiązane problemy