Classes Java Enums permitem a criação de variáveis com valores pre­de­fi­ni­dos. Essas variáveis sempre devem ser escritas com letras maiús­cu­las e não podem ser alteradas pos­te­ri­or­mente. Elas servem para deixar códigos mais lógicos e legíveis, con­tri­buindo para o de­sen­vol­vi­mento de códigos limpos.

O que são Java Enums?

O termo Java Enums faz re­fe­rên­cia a um tipo de dado em Java que pode ser usado em uma classe tra­di­ci­o­nal, mas tem uma diferença im­por­tante em relação a outros tipos de dados. Uma Enum é uma espécie de variável que possui opções pre­de­fi­ni­das, fixas e limitadas de valores. Java Enums são cons­tan­tes que evitam que valores in­de­se­ja­dos sejam usados em um código. Isso assegura a estrutura lógica do código e facilita a leitura. O termo “Enum” vem da palavra em inglês enu­me­ra­tion, que significa enumerar.

Hos­pe­da­gem que se adapta às suas ambições
  • Fique online com 99,99% de tempo de atividade e segurança robusta
  • Aumente o de­sem­pe­nho com um clique à medida que o tráfego cresce
  • Inclui domínio gratuito, SSL, e-mail e suporte 24 horas por dia, 7 dias por semana

Sintaxe de Java Enums

A sintaxe das classes Java Enums é sempre como no exemplo abaixo:

enum Nome_da_Classe {
	VALOR1,
	VALOR2,
	VALOR3
}
java

Quando você quiser definir essa classe, comece usando a palavra-chave enum ao invés de class ou interface. Depois dela, nomeie uma classe especial e defina as cons­tan­tes per­mi­ti­das dentro das chaves. Ao fazer isso, escreva sempre os nomes das cons­tan­tes em letras maiús­cu­las e separados uns dos outros por vírgulas.

Exemplo de Java Enums

Um bom exemplo do uso de Java Enums é uma lista de meses. Essa lista contém apenas doze valores possíveis que devem ser criados como cons­tan­tes. Portanto, quando uma variável do tipo “Meses” for ne­ces­sá­ria fu­tu­ra­mente, somente os valores cons­tan­tes serão per­mi­ti­dos. No código, esse exemplo ficaria assim:

enum Meses {
	JANEIRO,
	FEVEREIRO,
	MARCO,
	ABRIL,
	MAIO,
	JUNHO,
	JULHO,
	AGOSTO,
	SETEMBRO,
	OUTUBRO,
	NOVEMBRO,
	DEZEMBRO
}
java

Depois disso, para declarar uma variável do tipo “Meses”, indique seu valor e use o comando Java System.out.println para exibir:

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

Java Enums dentro de uma classe

Você também pode usar Java Enums dentro de uma classe. No exemplo acima, isso ficaria assim:

public class Main {
	enum Meses {
	JANEIRO,
	FEVEREIRO,
	MARCO,
	ABRIL,
	MAIO,
	JUNHO,
	JULHO,
	AGOSTO,
	SETEMBRO,
	OUTUBRO,
	NOVEMBRO,
	DEZEMBRO
}
		public static void main(String[] args) {
Meses mes = Meses.ABRIL;
System.out.println(mes);
		}
}
java

Java Enums e values() para consultar todas as cons­tan­tes

Se você quiser exibir todos os valores dis­po­ní­veis, use o método values(). Ele mostra as cons­tan­tes or­ga­ni­za­das em um array. Para o nosso exemplo, o código seria o seguinte:

enum Meses {
	JANEIRO,
	FEVEREIRO,
	MARCO,
	ABRIL,
	MAIO,
	JUNHO,
	JULHO,
	AGOSTO,
	SETEMBRO,
	OUTUBRO,
	NOVEMBRO,
	DEZEMBRO
}
public class Main {
	public static void main(String[] args) {
for (Meses mes : Meses.values()) {
System.out.println(mes);
		}
	}
}
java

Java Enums com switch

Outra pos­si­bi­li­dade de uso é combinar as Java Enums com outros métodos. Em com­bi­na­ção com switch(), o código ficaria assim:

enum Meses {
	JANEIRO,
	FEVEREIRO,
	MARCO,
	ABRIL,
	MAIO,
	JUNHO,
	JULHO,
	AGOSTO,
	SETEMBRO,
	OUTUBRO,
	NOVEMBRO,
	DEZEMBRO
}
public class Main {
	public static void main(String[] args) {
		Meses mes = Meses.ABRIL;
switch (mes) {
case ABRIL:
System.out.println("O clube está fechado.");
break;
case MAIO:
System.out.println("O clube está fechado.");
break;
case JUNHO:
System.out.println("O clube terá prazer em receber você!");
break;
// Você pode adicionar casos para todos os meses.
		}
	}
}
java
Ir para o menu principal