Los enums en Java permiten crear variables con valores fijos. Se escriben en ma­yú­s­cu­las y no pueden mo­di­fi­car­se po­s­te­rio­r­me­n­te. Se utilizan para mejorar la lógica y la le­gi­bi­li­dad del código y, por tanto, co­n­tri­bu­yen a un código limpio.

¿Qué ca­ra­c­te­ri­za a los enums en Java?

Los Java enums son un tipo de datos que se puede utilizar dentro de una clase co­n­ve­n­cio­nal, pero difiere de ella en un aspecto en pa­r­ti­cu­lar: un enum es un tipo de variable que tiene opciones de valor definidas es­pe­cí­fi­ca­me­n­te, fijas y, por tanto, re­s­tri­n­gi­das. Los enums de Java son, por tanto, co­n­s­ta­n­tes que impiden que se utilicen valores no deseados dentro de un código. Esto garantiza la es­tru­c­tu­ra lógica de un código y aumenta la le­gi­bi­li­dad. El término “enum” procede de la palabra inglesa “enu­me­ra­tion”, que significa “enu­me­ra­ción” o “di­re­c­to­rio”.

Web Hosting
El hosting que crece con tu proyecto
  • Tiempo de actividad de 99.99 % y seguridad ga­ra­n­ti­za­da
  • Aumenta el re­n­di­mie­n­to según el tráfico de tu página web
  • Incluye dominio, SSL, e-mail y soporte 24/7

La sintaxis de los enums en Java

La sintaxis de los enums se es­tru­c­tu­ra siempre de forma idéntica y tiene el siguiente aspecto:

enum nombre_de_la_clase { 
VALOR1, 
VALOR2, 
VALOR3
}
java

Por lo tanto, si quieres definir esta clase, comienza con la palabra clave “enum”, que se utiliza en lugar de “clase” o “interfaz”. A co­n­ti­nua­ción, asigna un nombre a la clase especial y coloca entre llaves las co­n­s­ta­n­tes au­to­ri­za­das que desees. Las co­n­s­ta­n­tes se escriben siempre en ma­yú­s­cu­las y separadas entre sí por comas.

Ejemplo de clase especial

Un posible ejemplo de enums es una lista de meses. Ésta solo contiene doce valores posibles que se pueden crear como co­n­s­ta­n­tes. Si más adelante se necesita una variable del tipo “meses”, solo se permiten las co­n­s­ta­n­tes definidas. El código de este ejemplo sería el siguiente:

enum Meses { 
ENERO, 
FEBRERO, 
MARZO, 
ABRIL, 
MAYO, 
JUNIO, 
JULIO, 
AGOSTO, 
SEPTIEMBRE, 
OCTUBRE, 
NOVIEMBRE, 
DICIEMBRE
}
java

Para declarar una variable del tipo “Meses”, asigna un valor y utiliza el comando Java System.out.println para mostrarla. El código se vería así:

public class Main { 
public static void main(String[] args) { 
Meses mes = Meses.ABRIL; 
System.out.println(mes); 
} 
}
java

Enums de Java dentro de una clase

También puedes utilizar los enums dentro de una clase. Con nuestro ejemplo anterior, se vería así:

public class Main { 
enum Meses { 
ENERO, 
FEBRERO, 
MARZO, 
ABRIL, 
MAYO, 
JUNIO, 
JULIO, 
AGOSTO, 
SEPTIEMBRE, 
OCTUBRE, 
NOVIEMBRE, 
DICIEMBRE
} 
public static void main(String[] args) { 
Meses mes = Meses.ABRIL; 
System.out.println(mes); 
} 
}
java

El método values para consultar todas las co­n­s­ta­n­tes

Si quieres mostrar todos los valores di­s­po­ni­bles, el método values() te ayudará. Este sería el código apropiado para nuestro ejemplo:

enum Meses { 
ENERO, 
FEBRERO, 
MARZO, 
ABRIL, 
MAYO, 
JUNIO, 
JULIO, 
AGOSTO, 
SEPTIEMBRE, 
OCTUBRE, 
NOVIEMBRE, 
DICIEMBRE 
} 
public class Main { 
public static void main(String[] args) { 
for (Meses mes : Meses.values()) { 
System.out.println(mes); 
} 
} 
}
java

Enums con switch

También peudes combinar los enums con otros métodos. Un ejemplo de co­m­bi­na­ción con switch() sería el siguiente:

enum Meses { 
ENERO, 
FEBRERO, 
MARZO, 
ABRIL, 
MAYO, 
JUNIO, 
JULIO, 
AGOSTO, 
SEPTIEMBRE, 
OCTUBRE, 
NOVIEMBRE, 
DICIEMBRE
} 
public class Main { 
public static void main(String[] args) { 
Meses mes = Meses.ABRIL; 
switch (mes) { 
case ABRIL: 
System.out.println("La piscina está cerrada."); 
break; 
case MAI: 
System.out.println("La piscina está cerrada."); 
break; 
case JUNI: 
System.out.println("La piscina te da la bienvenida"); 
break; 
// Ahora puedes probarlo con todos los meses. 
} 
} 
}
java
Ir al menú principal