Curso Avanzado de Java SE

Curso Avanzado de Java SE

Anahí Salgado Díaz de la Vega

Anahí Salgado Díaz de la Vega

Enumerations

15/39

Lectura

Los enumerations son tipos de datos muy especiales pues es el único tipo de dato que posee una colección de constantes, al ser constantes estaremos obligados a escribirlos con mayúsculas.

Usaremos enum cada vez que necesitemos representar un conjunto fijo de constantes. Por ejemplo los días de la semana.

Así podemos declarar un enumeration usando la palabra reservada enum.

Captura de pantalla 2018-04-26 a la(s) 11.57.06.png

Puedo crear referencias de enumerations de la siguiente forma:

Captura de pantalla 2018-04-26 a la(s) 11.57.44.png

Y puedo llamar un valor del enumeration así:

Captura de pantalla 2018-04-26 a la(s) 11.58.09.png

Los enumerations pueden tener atributos, métodos y constructores, como se muestra:

Captura de pantalla 2018-04-26 a la(s) 11.59.20.png

Y para utilizarlo lo podemos hacer así:

Captura de pantalla 2018-04-26 a la(s) 11.59.49.png

Aportes 27

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

No entendí

    public enum Day{
        SUNDAY("Domingo"),
        MONDAY("Lunes"),
        TUESDAY("Martes");

        private String spanish;
        private Day(String s){
            spanish = s;
        }

        public String getSpanish(){
            return spanish;
        }

    }

por que cuando imprimo

 System.out.println(Day.MONDAY.getSpanish());

me trae el nombre en español ?
en que momento estoy pasando le algo al constructor de Day ?

Yo los ocupo para catálogos que no cambian mucho con el tiempo y son pequeños.

Un Enum es una clase “especial” (tanto en Java como en otros lenguajes) que limitan la creación de objetos a los especificados explícitamente en la implementación de la clase. La única limitación que tienen los enumerados respecto a una clase normal es que si tiene constructor, este debe de ser privado para que no se puedan crear nuevos objetos.

Gracias por la explicación, en en curso de Testing en Java pudimos aplicarlos al establecer los niveles de seguridad de una contraseña con los valores WEAK, MEDIUM y STRONG.

Muchas gracias, una pregunta. En que caso se podria utilizar el enum, me podria facilitar una situacion?

Se utilizan mucho las enumeraciones.

buena explicación de enum!!!

Los enums son interesantes ya que se canaliza en una clase todas las posibilidades que se puede tener en una opcion como son las semanas, tipos de animales, figuras geometricas

Ejemplo de codigo

</*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package semana;

/**
 *
 * @author wilso
 */
public enum Semana {
    LUNES, MARTES, MIERCOLES, JUEVES, VIERNES, SABADO, DOMINGO
}

enum Figuras {
    TRINGULO, CIRCULO, ROMBOIDE, ESFERA
}
>

Como consecuencia el cambio solo se debe realizar en una parte de código, caso contrario si dejo todo dispersado

Gracias por los aportes!

Las enumeraciones se podrían utilizar para distintas extensiones de archivos de audio por ejemplo “MP3”, “MP4”, etc.

Excelente explicación!!

Excelente!

Excelente concepto

Muy Buen tema para la utilidad de esta clase.

Muy interesante, creo que solo se debe utilizar para constantes que no superen una cierta cantidad de valores yo creo que uno 10 valores estaria bien, porque si tenemos una lista muy grande, seria muy complejo mantenerlo.

Excelente concepto. Como haría si quiero declarar constantes numericas?

package com.anncode.util;

public enum Day {


    SUNDAY("Domingo"),
    MONDAY("Lunes"),
    TUESDAY("Martes"),
    WENDNESDAY("Miecoles"),
    THURSDAY("Jueves"),
    FRIDAY("Viernes"),
    SATURDAY("Sabado");


    private  String spanish;

    private Day(String spanish) {
        this.spanish = spanish;
    }

    public String getSpanish(){
        return spanish;
    }

    public static void main(String[] args) {
        System.out.println(Day.MONDAY);
        System.out.println(Day.MONDAY.getSpanish());
    }

}

public enum Month {
	JANUARY("ENERO"),
	FEBRURY("FEBRERO"),
	MARCH("MARZO"),
	APRIL("ABRIL"),
	MAY("MAYO"),
	JUNE("JUNIO"),
	JULY("JULIO"),
	AUGUST("AGOSTO"),
	SEPTEMBER("SETIEMBRE"),
	OCTOBER("OCTUBRE"),
	NOVEMBER("NOVIEMBRE"),
	DECEMBER("DICIEMBRE");
	String spanish;
	
	public Month(String  mes){
		spanish = mes;
	}
	String getSpanish(){
		return spanish;
	}
}
<code>public class Enumeraciones {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        
        System.out.println( Month.DECEMBER.getSpanish());
       
    }
    public enum Month {
	JANUARY("ENERO"),
	FEBRURY("FEBRERO"),
	MARCH("MARZO"),
	APRIL("ABRIL"),
	MAY("MAYO"),
	JUNE("JUNIO"),
	JULY("JULIO"),
	AUGUST("AGOSTO"),
	SEPTEMBER("SETIEMBRE"),
	OCTOBER("OCTUBRE"),
	NOVEMBER("NOVIEMBRE"),
	DECEMBER("DICIEMBRE");
	String spanish;
	
         Month(String  mes){
		spanish = mes;
	}
	String getSpanish(){
		return spanish;
	}
    }
    
}

<code>


Muy útiles los enumerados, porque así nos permiten dar Nombre y sentido a un numero indicador de algo como los dias de la semana

Los enums siempre son estáticos 😄

los enum son pasa agrupar constantes y que quede mas fácil su uso??

GENIAL 😃

Informacion valiosa.

gracias excelente explicacion

Una forma mas de utilizar datos.