Translate

viernes, 26 de septiembre de 2014

Enumeraciones en JAVA (Enum)

Un tipo Enum es un tipo de datos especial que le permite a una variable ser establecida de constantes predefinidas.

La variable debe ser igual a uno de los valores que fueron definidos para ella.

Un ejemplo comun son las direcciones de una brujula
(NORTH, SOUTH, EAST y WEST)

Por que si son constantes, el nombre de un tipo enum esta en minusculas.

En java se define una enumeracion usando la palabra clave "enum".

Ejemplo:

public enum Dia{
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
    THURSDAY, FRIDAY, SATURDAY
}


Usaras tipos "enum" cuando necesites representar un conjunto fijo de constantes.

Ejemplo:

public class EnumTest {
    Day day;
   
    public EnumTest(Dia day) {
        this.day = day;
    }
   
    public void tellItLikeItIs() {
        switch (day) {
            case MONDAY:
                System.out.println("Mondays are bad.");
                break;
                   
            case FRIDAY:
                System.out.println("Fridays are better.");
                break;
                        
            case SATURDAY: case SUNDAY:
                System.out.println("Weekends are best.");
                break;
                       
            default:
                System.out.println("Midweek days are so-so.");
                break;
        }
    }



Clase principal:

public static void main(String[] args) {
   EnumTest firstDay = new EnumTest(Day.MONDAY);
   firstDay.tellItLikeItIs();
   EnumTest thirdDay = new EnumTest(Day.WEDNESDAY);
   thirdDay.tellItLikeItIs();
   EnumTest fifthDay = new EnumTest(Day.FRIDAY);
   fifthDay.tellItLikeItIs();
   EnumTest sixthDay = new EnumTest(Day.SATURDAY);
   sixthDay.tellItLikeItIs();
   EnumTest seventhDay = new EnumTest(Day.SUNDAY);
   seventhDay.tellItLikeItIs();

}


Resultado:

Mondays are bad.
Midweek days are so-so.
Fridays are better.
Weekends are best.
Weekends are best.


El ejemplo anterior en el metodo main se obliga al constructor de la clase EnumTest a usar una de las constantes de la enumeracion Day. Esto hace a nuestro codigo menos propenso a errores.

No hay comentarios.:

Publicar un comentario