Mi enumeración es como esta actualmente:valores de las enumeraciones Configuración y análisis de cadenas para obtener una enumeración
public enum Manufacturers {
Honda,
GM,
Toyota,
Ferrari
}
Necesito crear un Hashmap por lo que planeo hacer esto, es esto correcto?
Manufacturers mfg = Manufacturers.Honda;
mfg.ordinal() // save as key
es decir, voy a almacenar la clave utilizando la enumInstance.ordinal()
Además, tengo que ser capaz de analizar una cadena que será el valor ordinal de la enumeración, y obtener una enumeración de vuelta:
Manufacturers mfg = Manufacturers.valueOf(mfgOrdinalValueAsString);
Lo anterior me dio un error (la cadena era "1"). ¿Es esta la manera correcta? Supongo que debería probar/atrapar ahí ¿no?
Parece que no puedo establecer el valor ordinal explícitamente, lo intenté: GM ("5"), Toyota ("6") – Blankman
No, no puede configurarlos - los ordinales coincidirán con el orden en que los valores se declaran dentro de la enumeración. – ziesemer
Si por alguna razón necesitas un número 'int' diferente asociado con cada elemento de la enumeración (que no sea el ordinal asignado automáticamente), siempre puedes agregarlo como un atributo a la enumeración, junto con getters –