En Java, las enumeración se denominan enum. Un objeto de un tipo de enumeración sólo puede llegar a contener los valores definidos por la lista. Debido a esto, una enumeración brinda una manera de definir con precisión un nuevo tipo de datos que tiene un número fijo de valores que se consideran válidos.
Para comprender mejor esto, supongamos que tenemos una baraja inglesa. La misma se compone de 4 palos, los cuales serán 4 enumeradores llamados Flores, Diamantes, Corazones y Espadas, que pertenecen a un tipo enumerado llamado Cartas.
Las enumeraciones son muy útiles siempre que se necesite definir un conjunto de valores que representen una colección de elementos. En el pasado, dichos valores se definían como variables finales, pero actualmente las enumeraciones ofrecen un enfoque más estructurado.
La declaración de Enum puede hacerse dentro o fuera de una clase, pero nunca dentro de un método. Las enumeraciones se crean usando la palabra clave enum.
Al efectuar una declaración de enum, la primera línea de código debe ser una lista de constantes y luego otras cosas como métodos, variables y constructores.
Según las convenciones de nomenclatura de Java, se recomienda que los nombres se escriban con las constantes con mayúsculas.
A continuación se pueden observar ejemplos de cómo se realiza la declaración de un enum:
//Declaración de una enumeración de los días de la semana
enum DiaSemana {LUNES, MARTES, MIÉRCOLES, JUEVES, VIERNES, SABADO, DOMINGO};
//Declaración de una enumeración de niveles
enum Nivel {ALTO, MEDIO, BAJO};
//Declaración de una enumeración de direcciones
enum Direccion {NORTE, SUR, ESTE, OESTE};
// Declaración de una enumeración de colores
enum Color { ROJO, VERDE, AMARILLO, AZUL};
//Una enumeración de transporte
enum Transporte{ COCHE, CAMIÓN, AVION, TREN, BARCO};
Los enum se pueden emplear:
En este simple programa se puede apreciar la sintaxis del código para emplear un enum en Java usando una estructura condicional de tipo if.
Primero se debe hacer la declaración del enum como se vio en los ejemplos anteriores, enumerando los identificadores PUBLICIDAD, BORRADOR y CANCELADO que se denominan constantes de enumeración.
Luego se puede declarar un método main() dentro una clase class() donde cada constante se declara implícitamente como un miembro público (public) y estático (static) de Status. Dentro del método main() las constantes de enumeración se usan en una estructura condicional de tipo if, donde se ejecutarán ciertas líneas de código, según se valide la igual expresada como condición en la sintaxis.
//Declaración del enumeración de status
enum Status {PUBLICADO, BORRADOR,CANCELADO}
Class Main {
Public static void main (String args[]){
Status estado = Status.PUBLICADO;
if (estado = Status. CANCELADO){
//Ya declarado el enum, aquí dentro se puede escribir el código del programa
que se necesite.
}
}
}