Las enumeraciones es una novedad que apareció en la versión 1.5 de java.
En si, un enum es una lista de constantes con nombre que viene a sustituir las clásicas propiedades final declaradas en la interfaces o las clases.
Con un enum definimos un nuevo tipo con un número de instancias discreta. Este nuevo tipo está limitado al listado de constantes que definimos en su declaración.
El ejemplo clásico son los días de la semana:
public enum DiaSemana{
LUNES, MARTES, MIERCOLES, JUEVES, VIERNES, SABADO, DOMINGO
}
Cada constante representa un ejemplar único del tipo de la enumeración.
Esta característica, nos permite realizar las comparaciones entre las referencias de tipo con el operador == y no es necesario utilizar el método equals().
Ejemplo:
DiaSemana diaLibre = DiaSemana.SABADO;
if( diaLibre == DiaSemana.SABADO ){
System.out.println("Hoy descansas");
}else{
//lo que se tenga que ejecutar en cualquier otro día
}
Es importante destacar que fundamentalmente se utiliza la sentencia switch para el control de flujo con los enum.
Ejemplo:
DiaSemana diaLibre = DiaSemana.SABADO;
switch (diaLibre) {
case LUNES:
System.out.println("tu dia libre coincide con el lunes.");
break;
case MARTES:
System.out.println("tu dia libre coincide con el martes.");
break;
case MIERCOLES:
System.out.println("tu dia libre coincide con el miercoles.");
break;
case JUEVES:
System.out.println("tu dia libre coincide con el jueves.");
break;
case VIERNES:
System.out.println("tu dia libre coincide con el viernes.");
break;
case SABADO:
System.out.println("tu dia libre coincide con el sabado.");
break;
case DOMINGO:
System.out.println("tu dia libre coincide con el domingo.");
break;
}
En el caso de no cubrir todos las casos es recomendado usar la opcion default.
No se puede poner el tipo en el case ya que provocaría errores.
Ejemplo: case DiaSemana.LUNES // da error de compilación
Ahora vamos a trabajar los métodos y de la herencia...
El super tipo de las enumeraciones es Enum.
No pueden ser supertipo de otra enumeración o clase. En todo caso, pueden implementar interfaces.
Todo esto, lo iremos poniendo en valor a lo largo de este artículo.
Los métodos principales que heredan de Enum son:
- values(): retorna un array con todos los ejemplares del tipo.
Ejemplo:
public class MainTestEnum {
public static void main(String[] args) {
for(DiaSemana dia : DiaSemana.values() ) {
System.out.println(dia);
}
}
}
En si, un enum es una lista de constantes con nombre que viene a sustituir las clásicas propiedades final declaradas en la interfaces o las clases.
Con un enum definimos un nuevo tipo con un número de instancias discreta. Este nuevo tipo está limitado al listado de constantes que definimos en su declaración.
El ejemplo clásico son los días de la semana:
public enum DiaSemana{
LUNES, MARTES, MIERCOLES, JUEVES, VIERNES, SABADO, DOMINGO
}
Cada constante representa un ejemplar único del tipo de la enumeración.
Esta característica, nos permite realizar las comparaciones entre las referencias de tipo con el operador == y no es necesario utilizar el método equals().
Ejemplo:
DiaSemana diaLibre = DiaSemana.SABADO;
if( diaLibre == DiaSemana.SABADO ){
System.out.println("Hoy descansas");
}else{
//lo que se tenga que ejecutar en cualquier otro día
}
Es importante destacar que fundamentalmente se utiliza la sentencia switch para el control de flujo con los enum.
Ejemplo:
DiaSemana diaLibre = DiaSemana.SABADO;
switch (diaLibre) {
case LUNES:
System.out.println("tu dia libre coincide con el lunes.");
break;
case MARTES:
System.out.println("tu dia libre coincide con el martes.");
break;
case MIERCOLES:
System.out.println("tu dia libre coincide con el miercoles.");
break;
case JUEVES:
System.out.println("tu dia libre coincide con el jueves.");
break;
case VIERNES:
System.out.println("tu dia libre coincide con el viernes.");
break;
case SABADO:
System.out.println("tu dia libre coincide con el sabado.");
break;
case DOMINGO:
System.out.println("tu dia libre coincide con el domingo.");
break;
}
En el caso de no cubrir todos las casos es recomendado usar la opcion default.
No se puede poner el tipo en el case ya que provocaría errores.
Ejemplo: case DiaSemana.LUNES // da error de compilación
Ahora vamos a trabajar los métodos y de la herencia...
El super tipo de las enumeraciones es Enum.
No pueden ser supertipo de otra enumeración o clase. En todo caso, pueden implementar interfaces.
Todo esto, lo iremos poniendo en valor a lo largo de este artículo.
Los métodos principales que heredan de Enum son:
- values(): retorna un array con todos los ejemplares del tipo.
Ejemplo:
public class MainTestEnum {
public static void main(String[] args) {
for(DiaSemana dia : DiaSemana.values() ) {
System.out.println(dia);
}
}
}
Comentarios
Publicar un comentario