“Conocimientos Programación>Programación Java

Java 1.5 Enum Tutorial

2014/2/6
El tipo de enumeración es una nueva característica en el lenguaje Java 1.5.0 , diseñada para resolver las deficiencias en la forma en que se manejaron los valores enumerados en las versiones anteriores de Java. En su forma más básica , adopta una estructura similar a la del tipo de enumeración en lenguajes basados ​​en C , pero es mucho más potente. La enumeración de objetos

Antes de pasar a las enumeraciones sí mismos, que es mejor para ilustrar el problema de que el nuevo tipo de enumeración fue creado para resolver. Considere la clase siguiente :

Calendario clase pública {

int díadelasemana GO

público static final int Lunes = 0

GO public static final int = Martes 1

GO public static final int = Miércoles 2

GO ....

setDayOfWeek void (int fecha) { ... } }


Esta clase almacena el día de la semana, utilizando un conjunto de constantes enumeradas con valores enteros de 0-7 , cada uno correspondiente a un día diferente, y se espera que otros desarrolladores que utilizan esta clase usarán esas constantes al utilizar la clase . Sin embargo , nada hace cumplir esto. Otras clases podían ignorar las constantes , utilice sus propias constantes (comenzando con el domingo , tal vez) por error, o incluso , como resultado de un error , pase \\ ", 8 \\ " como un día de la semana , lo que podría permitir que un insecto se propague más allá de lo que debería. También es particularmente informativo en la depuración , ya que el valor de \\ " díadelasemana \\ " se imprimirá en la consola o en un depurador simplemente como un número entero que tiene que ser visto en el código fuente . Las enumeraciones están diseñados para hacer frente a todas estas cuestiones. La siguiente es la misma clase , utilizando el tipo de enumeración en lugar de un conjunto de constantes enumeradas :

pública Calendario clase {
public enum { Día Lunes , Martes , Miércoles , Jueves , Viernes , Sábado , Domingo
}
Día díadelasemana

void setDayOfWeek (Día d ) {... } }


El código anterior , además de ser más limpio y más fácil de leer , se dirige a todos los problemas mencionados anteriormente con constantes enumeradas . Los clientes están obligados a usar sólo los valores enumerados a sí mismos , y depuradores se mostrará el nombre del valor enumerado y no es un entero . Además , las enumeraciones tienen un número de otras ventajas . Por ejemplo , se pueden utilizar con el nuevo para - cada característica de bucle que se añadió en Java 1.5.0 . La clase Calendar podría incluir método de la siguiente manera:

printDays void () {
para el (día d: Day.values ​​( ) ) {
System.out.println ( "Hoy es " + d )

GO } }


Este método recorrer todos los días e imprimir sus nombres.

Las enumeraciones son clases en su propio derecho , lo que significa que pueden tener sus propios métodos y constructores . Considere la siguiente enumeración , que almacena los personajes en una obra, lo que permite , con una breve descripción de ese personaje :

public enum Carácter {
MYSTERIOUS_MAN ( " Alto, moreno y guapo. ") ,
MYSTERIOUS_WOMAN ( " Con un vestido rojo. ") ,
protagonista ( " Dashing y heroico. ") ,
ANTAGONISTA ( " Rebosante mal . ");


cadena Descripción GO

Character (descripción String) {
this.description = Descripción

GO } }


Programación Java
Cómo sincronizar bloques de código en Java
Cómo cifrar un archivo en Java
Cómo obtener un Número de Rotación en Java
Cómo obtener una URL en un Servlet
Cómo instalar un juego para Android a través de un PC con APK
Cómo acceder a una cadena de valor de propiedad de Java
Cómo leer de un flujo de entrada en Java
Cómo ejecutar applets en Java
Conocimientos Informáticos © http://www.ordenador.online