Uso esta técnica con frecuencia, pero no estoy seguro de cómo llamarla. Yo lo llamo enumeraciones asociativas. ¿Es eso correcto?¿Cómo se llamaría este patrón enum?
Ejemplo:
public enum Genders {
Male("M"), Female("F"), Transgender("T"), Other("O"), Unknown("U");
private String code;
Genders(String code) {
this.code = code;
}
public String getCode() {
return code;
}
public static Genders get(String code) {
for (Genders gender : values()) {
if (gender.getCode().equalsIgnoreCase(code)) {
return gender;
}
}
return null;
}
}
¡Ni siquiera sabía que pudiera escribir código así! –
No es un patrón. Es solo un código normal que entiende que las enumeraciones son clases. También lo hago con frecuencia, pero nombraría el género enum (sin s), y arrojaría una IllegalArgumentException en lugar de devolver null para que concuerde con valueOf() –
¿A qué se refiere específicamente aquí como el "patrón?" ¿Es el hecho de que tienes un método 'get'? – templatetypedef