Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Entender como declarar um enum
  2. Percorrendo um enumerador
  3. Usando Enum com switch
  4. Enum como parâmetro, argumento e retorno
  5. Atributos, Métodos, Interface
  6. Métodos da classe Enum

O tipo enum é um tipo de dados derivado e composto de um ou mais constantes que são declaradas como membros nomeados.

Abaixo, a sintaxes A e B mostram a definição de um enumerador e seu uso na declaração de uma variável respectivamente.

Sintaxe A
enum nome_enumerador
{
  MEMBRO1,
  MEMBRO2,
  MEMBRON
};
            
Sintaxe B
nome_enumerador nome_variavel;
nome_enumerador nome_variavel = nome_enumerador.membro_enumerador;
Exemplo 1
public class Main
{
    enum Opcoes
    {
        OPCAO1,
        OPCAO2,
        OPCAO3
    }
    
	public static void main(String[] args) {
	 
    	Opcoes minhaOpcao = Opcoes.OPCAO1;
        System.out.println(minhaOpcao);
	}
}
            
Saída
OPCAO1

Um enumerador pode ser declarado em seu próprio arquivo .java. Nesse caso, o nome do enum deve obrigatoriamente ter o mesmo no do arquivo .java.

No exemplo abaixo, tanto arquivos Main.java quanto Enumerador.java devem ser criados na mesma pasta.

Exemplo 1
//Enumerador.java
public enum Enumerador{
    OPCAO1,
    OPCAO2,
    OPCAO3
}
//Main.java
public class Main
{
	public static void main(String[] args) {
	    
	    Enumerador meuEnum = Enumerador.OPCAO1;
		System.out.println(meuEnum);
	}
}
Saída
OPCAO1

Para iterarmos sobre os membros de um enum, podemos utilizar o comando Java Básico: Comando for e o método values que retorna um array de seus valores:

Exemplo 2

public class Main
{
    enum Opcoes
    {
        OPCAO1,
        OPCAO2,
        OPCAO3
    }
    
	public static void main(String[] args) {
	 
    	for( Opcoes op : Opcoes.values()){
    	    System.out.println(op);
    	}
	}
}
Saída
OPCAO1
OPCAO2
OPCAO3

A linguagem Java nos permite utilizar enum como cases do comando switch. Abaixo, um exemplo dessa uso:

Exemplo 3
public class Main
{
    enum Opcoes
    {
        OPCAO1,
        OPCAO2,
        OPCAO3
    }
    
	public static void main(String[] args) {
	 
        Opcoes opcao = Opcoes.OPCAO3;
        
        switch(opcao){
            case OPCAO1 : System.out.println("opcao1");break;
            case OPCAO2 : System.out.println("opcao2");break;
            case OPCAO3 : System.out.println("opcao3");break;
            default : System.out.println("opcao invalida");break;
        }
	}
}
Saída
opcao3
  1. 23/07/2024 - revisão 3 - correção em target de links; ajuste em sintaxes
  2. 23/09/2024 - revisão 2 - ajustes pontuais
  3. 06/02/2024 - revisão 1 - correção em navegação e erros gramaticais
  4. 04/09/2023 - versão inicial