(Anterior) Java 5 / JDK 5

Uso de Enumeraciones

 
public enum Autos { FORD, CHEVY, VW, BMW, NISSAN };
public enum Sexo  { M, F };

La característica común de los datos contenidos en las enumeraciones anteriores -- y cualquier otra desde luego -- es que son grupos de datos relacionados entre sí que no son modificados a lo largo de la ejecución de un programa.

Si ha trabajado ampliamente con Java, una enumeración es el equivalente grupal a definir un campo como : public static final, esto es, un dato con acceso publico, con una sola instancia (static) y que no cambia su valor al ejecutarse el programa (final).

Vale mencionar que una enumeración posee el mismo comportamiento que cualquier otra estructura Java de primer nivel como lo sería una clase o interfase : puede ser declarada en un archivo por si sóla y tiene la capacidad de pertenecer a una librería ("package") de manera independiente.

A pesar de la aparente similitud que tiene una enumeración con un arreglo o colección, difieren considerablemente, veamos un ejemplo practico donde sea utilizada una enumeración :

 
public class Piloto { 

    private Auto auto;
    private Sexo sexo; 

    public Piloto(Auto auto, Sexo sexo) { 
	this.auto = auto;
	this.sexo = sexo;
    }
    

    public static void main(String[] args) { 
	
	Piloto piloto1 = new Piloto(Auto.FORD,Sexo.M);
	Piloto piloto2 = new Piloto(Auto.CHEVY,Sexo.M);
	Piloto piloto3 = new Piloto(Auto.BMW,Sexo.F);

    } 

}

La clase anterior define dos campos : auto y sexo, basados en las enumeraciones Auto y Sexo respectivamente. Posteriormente, se define un constructor que asigna los valores de estos campos a cada instancia de la clase.

Dentro del método principal (main) de la clase , se lleva acabo la generación de instancias donde los respectivos campos son inicializados a partir de los valores en la enumeración. Note la sintaxis de asignación : Nombre_Enumeracion.Valor_Explicito.

Como puede observar, este tipo de asignación llevado acabo a través de enumeraciones, permite salvaguardar la asignación de datos estáticos en clases Java, de intentarse asignar un valor no encontrado dentro de la enumeración el compilador generaría un error. Además de este apoyo para detección de errores al momento de compilar, una enumeración también permite concentrar listas de datos que pueden ser reutilizadas en diversos programas, tales como los datos enunciados anteriormente, listas de ciudades, nombres, países u otro tipo información.

Menú Curso

Objetos, Java y JDK

Composición, Clases y Librerías("Packages").

Variables, Constructores, Métodos y Comentarios.

Herencias ("Inheritance"), Condicionales y Ciclos

Operadores, Errores y Datos de Entrada/"Streams".

Interfases, Arreglos y Polimorfismo.

Collections Framework, "Threads", Garbage Collection y "Assertions".

Java 5 / JDK 5 .

Instalación Software.

Codigo.