💾 Enumeraciones (enum) en Java
En Java, un enum (abreviatura de enumeration) es un tipo especial de clase que representa un conjunto fijo y finito de constantes.
Se usa cuando sabemos que una variable solo puede tomar un conjunto limitado de valores.
Convenciones de nomenclatura
Nombrado el enum:
- Se escribe como una clase: UpperCamelCase (cada palabra empieza en mayúscula). DiaSemana
, Talla
, EstadoPedido
, ...
Nombrado en los valores del enum:
- Se escriben como constantes: MAYÚSCULAS.
- Si son varias palabras → separadas con guiones bajos.
enum DiaSemana {
LUNES, MARTES, MIERCOLES, JUEVES,
VIERNES, SABADO, DOMINGO
}
enum EstadoPedido {
PENDIENTE,
EN_PROCESO,
COMPLETADO,
CANCELADO
}
✅ Definición básica
enum Dia {
LUNES, MARTES, MIERCOLES, JUEVES, VIERNES, SABADO, DOMINGO
}
Aquí hemos creado un tipo Dia
que solo puede tomar uno de esos 7 valores.
🔹 Uso de un enum
public class EjemploEnum {
public static void main(String[] args) {
Dia hoy = Dia.LUNES;
if (hoy == Dia.LUNES) {
System.out.println("¡Ánimo, empieza la semana!");
}
}
}
🔹 Recorrer todos los valores
Cada enum tiene un método values()
que devuelve un array con todos los valores.
for (Dia d : Dia.values()) {
System.out.println(d);
}
Salida:
LUNES
MARTES
MIERCOLES
JUEVES
VIERNES
SABADO
DOMINGO
🔹 Enum con atributos y métodos
Un enum también puede tener campos, constructores y métodos.
enum Semaforo {
ROJO("Detente"),
AMARILLO("Precaución"),
VERDE("Avanza");
private String accion;
// Constructor
Semaforo(String accion) {
this.accion = accion;
}
public String getAccion() {
return accion;
}
}
public class EjemploSemaforo {
public static void main(String[] args) {
Semaforo s = Semaforo.ROJO;
System.out.println(s.getAccion()); // "Detente"
}
}
🔹 Uso en switch
enum Talla { S, M, L, XL }
public class EjemploSwitch {
public static void main(String[] args) {
Talla t = Talla.M;
switch (t) {
case S -> System.out.println("Pequeña");
case M -> System.out.println("Mediana");
case L -> System.out.println("Grande");
case XL -> System.out.println("Extra grande");
}
}
}
📌 Resumen
- Un
enum
es un tipo que define un conjunto fijo de constantes. - Se usa para mejorar legibilidad y seguridad en el código.
- Puede tener atributos, constructores y métodos.
- Funciona muy bien en
switch
.
👉 Los enums son ideales para representar opciones fijas: días de la semana, colores, tallas, estados de un pedido, etc.