Palavra-chave enum em java

A palavra-chave enum em Java é usada para definir um tipo enumerado. Um tipo enumerado é um conjunto de constantes nomeadas que representam um grupo fixo de valores relacionados. Usar enums ajuda a melhorar a legibilidade e a segurança do código, pois permite que você defina um conjunto fixo de valores possíveis para uma variável, em vez de usar constantes de inteiros ou strings.

Definição de um Enum

A sintaxe básica para definir um enum é a seguinte:

public enum NomeDoEnum {
    CONSTANTE1,
    CONSTANTE2,
    CONSTANTE3;
}

Exemplo de Enum

Aqui está um exemplo simples de como definir e usar um enum:

public class ExemploEnum {

    // Definição do enum
    public enum DiaDaSemana {
        SEGUNDA, TERÇA, QUARTA, QUINTA, SEXTA, SÁBADO, DOMINGO
    }

    public static void main(String[] args) {
        // Uso do enum
        DiaDaSemana hoje = DiaDaSemana.SEGUNDA;

        switch (hoje) {
            case SEGUNDA:
                System.out.println("Hoje é segunda-feira.");
                break;
            case TERÇA:
                System.out.println("Hoje é terça-feira.");
                break;
            case QUARTA:
                System.out.println("Hoje é quarta-feira.");
                break;
            case QUINTA:
                System.out.println("Hoje é quinta-feira.");
                break;
            case SEXTA:
                System.out.println("Hoje é sexta-feira.");
                break;
            case SÁBADO:
                System.out.println("Hoje é sábado.");
                break;
            case DOMINGO:
                System.out.println("Hoje é domingo.");
                break;
            default:
                System.out.println("Dia inválido.");
                break;
        }
    }
}




Saída:

Hoje é segunda-feira.

Explicação do Exemplo

  1. Definição do Enum: DiaDaSemana é um enum que define um conjunto de constantes representando os dias da semana.
  2. Uso do Enum: A variável hoje é do tipo DiaDaSemana e é atribuída a DiaDaSemana.SEGUNDA.
  3. Estrutura de Controle: O switch é usado para executar diferentes blocos de código dependendo do valor de hoje.

Características dos Enums

  • Tipos de Dados: Enums são uma forma especial de classe que pode ter construtores, métodos e variáveis. Eles são mais fortes que constantes simples e ajudam a garantir que apenas valores válidos sejam usados.
  • Métodos e Construtores: Você pode adicionar métodos e construtores aos enums para associar dados adicionais e comportamentos com as constantes.
  • Métodos Predefinidos: Enums fornecem métodos predefinidos como values() (retorna um array contendo todas as constantes do enum) e valueOf(String nome) (retorna a constante do enum com o nome especificado).

Exemplo com Métodos e Construtores

public enum DiaDaSemana {
    SEGUNDA("Segunda-feira"),
    TERÇA("Terça-feira"),
    QUARTA("Quarta-feira"),
    QUINTA("Quinta-feira"),
    SEXTA("Sexta-feira"),
    SÁBADO("Sábado"),
    DOMINGO("Domingo");

    private String nomeCompleto;

    DiaDaSemana(String nomeCompleto) {
        this.nomeCompleto = nomeCompleto;
    }

    public String getNomeCompleto() {
        return nomeCompleto;
    }
}

public class ExemploEnumAvancado {
    public static void main(String[] args) {
        for (DiaDaSemana dia : DiaDaSemana.values()) {
            System.out.println(dia + ": " + dia.getNomeCompleto());
        }
    }
}




Saída:

SEGUNDA: Segunda-feira
TERÇA: Terça-feira
QUARTA: Quarta-feira
QUINTA: Quinta-feira
SEXTA: Sexta-feira
SÁBADO: Sábado
DOMINGO: Domingo

Resumo

  • Palavra-chave: enum
  • Uso: Define um tipo enumerado com um conjunto fixo de constantes
  • Características: Suporta métodos, construtores e variáveis; métodos predefinidos como values() e valueOf()

Enums são uma maneira poderosa e segura de trabalhar com um conjunto fixo de valores em Java, oferecendo uma forma mais estruturada e legível de lidar com constantes.