Sobes.tech
Junior — Middle

Explique o conceito de Enum Class e a sua diferença para as enumerações normais

sobes.tech IA

Resposta da IA

No Android (e no Java em geral), enum class é uma classe de enumeração que representa um conjunto de constantes com a capacidade de adicionar campos, métodos e construtores.

Diferenças em relação às enumerações normais (por exemplo, em C ou constantes simples):

  • Segurança de tipos — enum é uma classe completa, e uma variável do tipo enum só pode aceitar os valores definidos.
  • Capacidade de adicionar comportamento — é possível definir métodos e campos dentro do enum.
  • Uso em switch — é conveniente usar enum em instruções de seleção.

Exemplo de enum em Java/Android:

public enum Status {
    NEW(0),
    IN_PROGRESS(1),
    DONE(2);

    private int code;

    Status(int code) {
        this.code = code;
    }

    public int getCode() {
        return code;
    }
}

Portanto, enum class é uma forma avançada de definir um conjunto fixo de constantes com funcionalidades adicionais, diferentemente das enumerações simples, que podem ser apenas um conjunto de números ou strings sem lógica.