2011-11-09 5 views
9

Supongamos que tengo un poco de enumeración como la siguiente:¿Cómo puedo asociar una cadena con cada miembro de una enumeración?

enum Towns { Rome, Napoli, Modena } 

que desea asociar una cadena para cada miembro de la enumeración. Idealmente, la cadena debe ser una descripción. Quiero para asegurarse de que cada ciudad tiene una descripción:

Rome - Beautiful 
Napoli - Good pizza 
Modena - Ferrari store 

También me gustaría tener que darme un error de tiempo de compilación si alguna ciudad no tiene una descripción.

Respuesta

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

enumeraciones son tratados como clases. Puedes escribir un constructor, tener variables de miembros y funciones. La belleza es que el constructor se llama para cada tipo de enumeración y el estado se mantiene para cada tipo/

Cuestiones relacionadas