Yorman stiven meneses
Jhosmar Parra Montaño
en el constructor privado day, le asigna el valor a la variable spanish.
Juan José Cano Duque
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.
Puedo crear referencias de enumerations de la siguiente forma:
Y puedo llamar un valor del enumeration así:
Los enumerations pueden tener atributos, métodos y constructores, como se muestra:
Y para utilizarlo lo podemos hacer así:
Yorman stiven meneses
Jhosmar Parra Montaño
en el constructor privado day, le asigna el valor a la variable spanish.
Juan José Cano Duque
JUAN SEBASTIAN RODRIGUEZ JIMENEZ
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.
JUAN SEBASTIAN RODRIGUEZ JIMENEZ
Un enumerado o (Enum) es una clase “especial” que limitan la creación de objetos a los explícitamente en la implementación de la clase. La única limitación que tienen los enumerados respecto a una clase normal es que este debe ser privado para que no se puedan crear nuevos objetos.
Noe de Jesus Muñoz Martinez
Miguel Angel Sosa Posadas
Yo los ocupo para catálogos que no cambian mucho con el tiempo y son pequeños.
César David Ramírez Dimaté
public enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY } Day.FRIDAY; public enum Day { SUNDAY("Domingo"), MONDAY("Lunes"), TUESDAY("Martes"), WEDNESDAY("Miercoles"), THURSDAY("Jueves"), FRIDAY("Viernes"), SATURDAY("Sabado") private String spanish; private Day(String s) { spanish = s; } public String getSpanish() { return spanish; } } Day.MONDAY # MONDAY Day.MONDAY.getSpanish() # Lunes
Josue David Pablo Ixbalan
Las enumeraciones se podrían utilizar para distintas extensiones de archivos de audio por ejemplo “MP3”, “MP4”, etc.
ANDRÉS FELIPE BERMÚDEZ MOLANO
Juan Carlos Reynoso Zuñiga
Excelente concepto
Daniel Camacho
Kevin Manuel Wong
Muchas gracias, una pregunta. En que caso se podria utilizar el enum, me podria facilitar una situacion?
Roderick Lagunas
para manejar códigos de error, para manejar tipificaciones de estado, para manejar categorías de objetos, etc...
Daniel Camacho
Referenciar una Excepcion, usualmente no entendemos el tipo de error en la consola podemos darle un alias a esa excepcion por medio de un ENUM obiamente primero tienes que identificar con la javadocs específicamente que tipo de excepcion es.
Jhoni Omar Torres Mata
Se utilizan mucho las enumeraciones.
Vespaciano Forero Sanchez
Se puede decir que enum es como una estructura, o como un tipo de clase ?
Diego Forero
Team PlatziEnum es un tipo especial de Java usado para definir collecciones o arreglos de contantes. Enum es una clase especial de Java que puede contener constantes, métodos, etc y fue añadido a Java en su versión 5
Norman Erick Estrada Vargas
buena explicación de enum!!!
Carlos Uriel de Jesus Sánchez González
Como lo indica es una clase que maneja constantes, que se le pueden tratar como cualquier clase.
Wilson Alejandro Gonzalez Gaitan
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
Yossijaki Jorge Astilleros Chávez
Gracias por los aportes!
Wilbren Ambiorix Rosario Serrano
Excelente explicación!!
PABLO ANDRÉS AGÜERO
Excelente!
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 ?
Tampoco entiendo el ejemplo de ann.
Creo yo que el ejemplo se entendería mejor así:
Day d = Day.MONDAY; System.out.println( d.getSpanish() );
De esa manera al hacer Day d = Day.MONDAY;
Estás llamando al constructor de la clase que hace que spanish tome el valor interno de MONDAY y luego llamando el método getSpanish() imprimes ese valor. Pero todo esto funciona gracias a que estamos almacenando a DAY en una variable externa d.
Internamente los enums son una clase mas en Java, es decir al declarar un valor constante en un enum, es como crear una instancia de esa clase.
public final class DiaSemana extends Enum<DiaSemana> { public static final DiaSemana LUNES = new DiaSemana("LUNES", 0); public static final DiaSemana MARTES = new DiaSemana("MARTES", 1); public static final DiaSemana MIERCOLES = new DiaSemana("MIERCOLES", 2); public static final DiaSemana JUEVES = new DiaSemana("JUEVES", 3); public static final DiaSemana VIERNES = new DiaSemana("VIERNES", 4); public static final DiaSemana SABADO = new DiaSemana("SABADO", 5); public static final DiaSemana DOMINGO = new DiaSemana("DOMINGO", 6); } ```public final class DiaSemana extends Enum\<DiaSemana> { public static final DiaSemana LUNES = new DiaSemana("LUNES", 0); public static final DiaSemana MARTES = new DiaSemana("MARTES", 1); public static final DiaSemana MIERCOLES = new DiaSemana("MIERCOLES", 2); public static final DiaSemana JUEVES = new DiaSemana("JUEVES", 3); public static final DiaSemana VIERNES = new DiaSemana("VIERNES", 4); public static final DiaSemana SABADO = new DiaSemana("SABADO", 5); public static final DiaSemana DOMINGO = new DiaSemana("DOMINGO", 6);
Enumerations definied
public enum Days { SUNDAY("Domingo"), MONDAY("Lunes"), TUESDAY("Martes"), WEDNESDAY("Miercoles"), THURSDAY("Jueves"), FRIDAY("Viernes"), SATURDAY("Sabado"); private final String spanish; private Days(String spanish) { this.spanish = spanish; } public String getSpanish() { return spanish; } }
Enumerations Undefinied
public enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }
Main
public class IndexEnum { public static void main(String[] args) { System.out.println( Days.MONDAY.getSpanish()); indicarDiasSemana(Day.FRIDAY); } private static void indicarDiasSemana(Day day) { switch (day) { case MONDAY: System.out.println("Monday are bad"); break; case FRIDAY: System.out.println("Friday are better"); break; case SUNDAY: case SATURDAY: System.out.println("Friday are better"); break; default:{ System.out.println("Midweek days are so-so"); break; } } } }
Consola
System.out.println( Days.MONDAY.getSpanish()); imprime Lunes indicarDiasSemana(Day.FRIDAY); imprime"Friday are better"