Tengo un tipo de enumeración (por ejemplo, argumentos sake CarModel
), que se utiliza en una aplicación (numerosas clases).métodos get() en Java enumeración tipo
public enum CarModel {
DIABLO,
P911,
DB7;
}
tengo varios métodos que utilizan este tipo CarModel
enumeración de diferentes maneras, y cada uno tiene una sentencia switch para establecer algún String
variable en función del tipo de enumeración, antes de pasar a hacer otras cosas. (por ejemplo, establecer el fabricante de algún modelo, o establecer el país de origen, etc. Estos resultados son estáticos en tiempo de ejecución)
El problema es que si quiero agregar un nuevo modelo a la enumeración, tendría que ir a cada método, y extender/modificar la declaración de cambio para manejar su existencia. Esto podría conducir fácilmente a errores humanos y/o duplicación de código (si varios métodos usan las mismas declaraciones de cambio).
En lugar de utilizar las sentencias switch all-over, me gustaría disponer de métodos estáticos, que podrían ser editados en un solo lugar, y permitiría un comportamiento similar al siguiente:
String country = CarModel.DIABLO.getCountry() // returns Italy
String manufacturer = CarModel.P911.getManufacturer() // returns Porsche
Es esto posible con una enumeración, (y es una enumeración incluso la forma 'correcta' de hacer esto?
Hago esto todo el tiempo, me encantan estas características de enums. – Malcolm
+1 muy guay !!! estilo antiguo enum. – BlaShadow