As enums em Java permitem criar variáveis com valores fixos. São escritas em maiús­cu­las e não podem ser mo­di­fi­ca­das pos­te­ri­or­mente. São uti­li­za­das para melhorar a lógica e a le­gi­bi­li­dade do código e, portanto, con­tri­buem para um código limpo.

O que ca­rac­te­riza as enums em Java?

As enums Java são um tipo de dados que pode ser utilizado dentro de uma classe con­ven­ci­o­nal, mas difere dela num aspeto es­pe­cí­fico: uma enum é um tipo de variável que tem opções de valor definidas es­pe­ci­fi­ca­mente, fixas e, portanto, restritas. Os enums Java são, portanto, cons­tan­tes que impedem que valores in­de­se­ja­dos sejam uti­li­za­dos dentro de um código. Isso garante a estrutura lógica de um código e aumenta a le­gi­bi­li­dade. O termo «enum» vem da palavra inglesa «enu­me­ra­tion», que significa «enu­me­ra­ção» ou «diretório».

A sintaxe das enums em Java

A sintaxe das enums é sempre es­tru­tu­rada de forma idêntica e tem o seguinte aspecto:

enum nombre_de_la_clase { 
VALOR1, 
VALOR2, 
VALOR3
}
java

Portanto, se quiser definir essa classe, comece com a palavra-chave «enum», que é usada em vez de «classe» ou «interface». Em seguida, atribua um nome à classe especial e coloque entre chaves as cons­tan­tes au­to­ri­za­das que desejar. As cons­tan­tes são sempre escritas em maiús­cu­las e separadas entre si por vírgulas.

Exemplo de aula especial

Um exemplo possível de enums é uma lista de meses. Ela contém apenas doze valores possíveis que podem ser criados como cons­tan­tes. Se, pos­te­ri­or­mente, for ne­ces­sá­ria uma variável do tipo «meses», apenas as cons­tan­tes definidas serão per­mi­ti­das. O código deste exemplo seria o seguinte:

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

Para declarar uma variável do tipo «Meses», atribua um valor e utilize o comando Java System.out.println para a mostrar. O código ficaria assim:

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

Enums Java dentro de uma classe

Também pode utilizar as enums dentro de uma classe. Com o nosso exemplo anterior, ficaria assim:

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

O método values para consultar todas as cons­tan­tes

Se quiser mostrar todos os valores dis­po­ní­veis, o método values() irá ajudá-lo. Este seria o código apro­pri­ado para o nosso exemplo:

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 com switch

Você também pode combinar as enums com outros métodos. Um exemplo de com­bi­na­ção com switch() seria o seguinte:

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 para o menu principal