La palabra clave enum en Java se utiliza para definir un conjunto de constantes con nombre. Es un tipo de datos especial que permite que una variable sea un conjunto de constantes predefinidas, lo que hace que el código sea más legible y fácil de mantener. Los Enums se suelen utilizar para representar una colección de constantes relacionadas, como los días de la semana, los meses del año o los estados de un proceso.
Utilización
Los Enums permiten definir una colección de constantes de forma segura. Pueden incluir métodos y campos, y pueden implementar interfaces.
CONSTANT1, CONSTANT2, CONSTANT3: Las constantes definidas dentro del enum.
Ejemplos
Ejemplo 1: Enum básico
enum Day {SUNDAY,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY;}publicclassEnumExample{publicstaticvoidmain(String[] args){
Day today = Day.MONDAY;
System.out.println("Today is: "+ today);}}Con la tecnología de
En este ejemplo, se define un enum Day con constantes que representan los días de la semana. A la variable today se le asigna el valor Day.MONDAY, y el programa imprime el día actual.
Este ejemplo muestra un enum Size con un método getSize() que devuelve una representación de cadena del tamaño. A la variable size se le asigna Size.MEDIUM, y el programa imprime la descripción del tamaño correspondiente.
Ejemplo 3: Enum con campos y constructor
enum Planet {MERCURY(3.303e+23,2.4397e6),VENUS(4.869e+24,6.0518e6),EARTH(5.976e+24,6.37814e6);private final double mass;// in kilogramsprivate final double radius;// in metersPlanet(double mass, double radius){this.mass = mass;this.radius = radius;}public double getMass(){return mass;}public double getRadius(){return radius;}}publicclassEnumWithFieldsExample{publicstaticvoidmain(String[] args){for(Planet planet : Planet.values()){
System.out.printf("Planet: %s, Mass: %f, Radius: %f%n", planet, planet.getMass(), planet.getRadius());}}}Con la tecnología de
En este ejemplo, el enum Planet tiene los campos mass y radius, un constructor para inicializar estos campos y métodos getter para acceder a ellos. El programa recorre todas las constantes enum e imprime sus detalles.
Consejos y buenas prácticas
Uso para Constantes: Utiliza enums para definir un conjunto fijo de constantes, mejorando la legibilidad y mantenibilidad del código.
Tipo Seguridad: Los Enums proporcionan seguridad de tipo en comparación con las definiciones constantes tradicionales que utilizan final static.
Declaraciones de cambio: Los Enums funcionan perfectamente con las sentencias switch, lo que hace que el código sea más limpio.
switch(size){caseSMALL:// Handle small sizebreak;caseMEDIUM:// Handle medium sizebreak;caseLARGE:// Handle large sizebreak;}Con la tecnología de
Implementar interfaces: Los Enums pueden implementar interfaces, lo que permite un código más flexible y reutilizable.
interfaceDescribable{
String getDescription();}enum Color implementsDescribable{RED,GREEN,BLUE;
@Override
public String getDescription(){return"Color: "+this.name();}}Con la tecnología de
Evita el uso excesivo: Aunque los enums son potentes, evita utilizarlos en exceso para simples constantes. Utilízalos cuando haya un conjunto claro de constantes relacionadas.
La palabra clave
enumen Java se utiliza para definir un conjunto de constantes con nombre. Es un tipo de datos especial que permite que una variable sea un conjunto de constantes predefinidas, lo que hace que el código sea más legible y fácil de mantener. Los Enums se suelen utilizar para representar una colección de constantes relacionadas, como los días de la semana, los meses del año o los estados de un proceso.Utilización
Los Enums permiten definir una colección de constantes de forma segura. Pueden incluir métodos y campos, y pueden implementar interfaces.
Syntax
EnumName: El nombre del enum.CONSTANT1, CONSTANT2, CONSTANT3: Las constantes definidas dentro del enum.Ejemplos
Ejemplo 1: Enum básico
En este ejemplo, se define un enum
Daycon constantes que representan los días de la semana. A la variabletodayse le asigna el valorDay.MONDAY, y el programa imprime el día actual.Ejemplo 2: Enum con métodos
Este ejemplo muestra un enum
Sizecon un métodogetSize()que devuelve una representación de cadena del tamaño. A la variablesizese le asignaSize.MEDIUM, y el programa imprime la descripción del tamaño correspondiente.Ejemplo 3: Enum con campos y constructor
En este ejemplo, el enum
Planettiene los camposmassyradius, un constructor para inicializar estos campos y métodos getter para acceder a ellos. El programa recorre todas las constantes enum e imprime sus detalles.Consejos y buenas prácticas
final static.