Criar e Usar Enums no Java
Veja neste tutorial o que é enum e como criar e utilizar enum em seus projetos java.
Ú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
eDEBITO
são valores do EnumLancamento
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 tipoDEBITO
.
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.