Criar e Usar Enums no Java

Veja neste tutorial o que é enum e como criar e utilizar enum em seus projetos java.

Wolmir Cezer Garbin por Wolmir Cezer Garbin - - Java - TUTORIAL

Última atualização em: | 19691 Visualizações

O tipo Enum no Java, é um tipo de valores constantes, pré definidas, que servem para várias situações do dia a dia de um programador.

A sintaxe de criação de um Enum no Java é muito semelhante a criação de uma classe, porém no lugar de usar class na declaração, usamos enum. Veja o exemplo:

public enum SintaxeDeEnum {

	// [...]

}

Para entender melhor, consideramos um exemplo prático para analizar. Em uma conta corrente temos lançamentos de crédito e débito, transformando isso em um enum temos:

public enum Lancamento{
	CREDITO, DEBITO;
}

Note que CREDITO e DEBITO são valores do Enum Lancamento e por serem valores do Enum seus nomes são escritos em letras maiúsculas e sem acentuação.


Podemos acessar estes valores da seguinte forma:

Lancamento lancamento = Lancamento.DEBITO;

Note que criamos uma variável lancamento do tipo DEBITO.

Melhorando este exemplo, podemos criar atributos, como por exemplo um campo descrição. A descrição deve ser do tipo texto e mostrar uma descrição mais amigável, para que quando exibido para o utilizador do sistema, seja de fácil entendimento.

Para isso teríamos que ter algo assim:

CREDITO = Crédito
DEBITO = Débito

Transcrevendo isso para o Enum Lancamento, vamos primeiro criar o atributo descrição.

public enum Lancamento{

  CREDITO, DEBITO;

  private String descricao;
 
}

Beleza, agora que temos o atributo descricao, é necessário popular este valor. Para isso podemos criar um construtor que receba uma variável descricao, e nas constantes passamos o valor a ser introduzido no construtor. Veja:

public enum Lancamento{

  CREDITO("Crédito"),
  DEBITO("Débito");

  private String descricao;

  Lancamento(String descricao) {
     this.descricao = descricao;
  }
 
}

Note que agora temos um valor para o atributo descricao.

Para verificar se está tudo certo, é necessário criar um método get para o atributo descricao para obter o valor.

public enum Lancamento{

  CREDITO("Crédito"),
  DEBITO("Débito");

  private String descricao;

  Lancamento(String descricao) {
     this.descricao = descricao;
  }

  public String getDescricao() {
     return descricao;
  }
}

O Enum está construído e pronto para ser utilizado.


Iterando o Enum

Para fazer a iteração entre os valores do Enum Lancamento, podemos utilizar um método disponibilizado pelos próprios enums, values(), após fazer a iteração, será impresso no console o nome e o valor do campo descrição. Veja:

import java.util.Arrays;

public class MainTest {

   public static void main(String[] args) {
       Lancamento[] values = Lancamento.values();

       Arrays.asList( values ).forEach(lancamento -> {
           System.out.print( lancamento.name() );
           System.out.print( " = " );
           System.out.println( lancamento.getDescricao() );
       });
   }

}

O resultado impresso será:

CREDITO = Crédito
DEBITO = Débito

Não esqueca de deixar suas dúvidas nos comentários e compartilhar este post.


Apoiadores

Publique seu post no Receitas de Código

Aguarde, estamos trabalhando para que você possa publicar sua postagem no Receitas de Código!