Pular para o conteúdo principal
Documentos
Palavras-chave JavaMatrizes JavaProgramação orientada a objetos em JavaManuseio de arquivos JavaIntrodução ao JavaNoções básicas da linguagem Java

Palavra-chave enum em Java

A palavra-chave enum em Java é usada para definir um conjunto de constantes nomeadas. É um tipo de dados especial que permite que a variável seja um conjunto de constantes predefinidas, tornando o código mais legível e de fácil manutenção. Os enums são comumente usados para representar uma coleção de constantes relacionadas, como dias da semana, meses do ano ou estados em um processo.

Uso

Os enums oferecem uma maneira de definir uma coleção de constantes de forma segura para o tipo. Eles podem incluir métodos e campos e podem implementar interfaces.

Sintaxe

enum EnumName {
    CONSTANT1, CONSTANT2, CONSTANT3;
}
  • EnumName: O nome do enum.
  • CONSTANT1, CONSTANT2, CONSTANT3: As constantes definidas no enum.

Exemplos

Exemplo 1: Enum básico

enum Day {
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY;
}

public class EnumExample {
    public static void main(String[] args) {
        Day today = Day.MONDAY;
        System.out.println("Today is: " + today);
    }
}

Neste exemplo, um enum Day é definido com constantes que representam os dias da semana. A variável today recebe o valor Day.MONDAY e o programa imprime o dia atual.

Exemplo 2: Enum com métodos

enum Size {
    SMALL, MEDIUM, LARGE;

    public String getSize() {
        switch (this) {
            case SMALL: return "Small Size";
            case MEDIUM: return "Medium Size";
            case LARGE: return "Large Size";
            default: return "Unknown Size";
        }
    }
}

public class EnumWithMethodExample {
    public static void main(String[] args) {
        Size size = Size.MEDIUM;
        System.out.println("Selected size: " + size.getSize());
    }
}

Este exemplo demonstra um enum Size com um método getSize() que retorna uma representação de string do tamanho. A variável size é atribuída a Size.MEDIUM, e o programa imprime a descrição do tamanho correspondente.

Exemplo 3: Enum com campos e construtor

enum Planet {
    MERCURY(3.303e+23, 2.4397e6),
    VENUS(4.869e+24, 6.0518e6),
    EARTH(5.976e+24, 6.37814e6);

    private final double mass;   // in kilograms
    private final double radius; // in meters

    Planet(double mass, double radius) {
        this.mass = mass;
        this.radius = radius;
    }

    public double getMass() {
        return mass;
    }

    public double getRadius() {
        return radius;
    }
}

public class EnumWithFieldsExample {
    public static void main(String[] args) {
        for (Planet planet : Planet.values()) {
            System.out.printf("Planet: %s, Mass: %f, Radius: %f%n", planet, planet.getMass(), planet.getRadius());
        }
    }
}

Neste exemplo, o enum Planet tem os campos mass e radius, um construtor para inicializar esses campos e métodos getter para acessá-los. O programa percorre todas as constantes de enum e imprime seus detalhes.

Dicas e práticas recomendadas

  • Uso para constantes: Use enums para definir um conjunto fixo de constantes, melhorando a legibilidade e a manutenção do código.
  • Tipo de segurança: Os enums oferecem segurança de tipo em comparação com as definições de constantes tradicionais que usam final static.
  • Trocar declarações: Os enums funcionam perfeitamente com instruções switch, tornando o código mais limpo.
    switch (size) {
        case SMALL:
            // Handle small size
            break;
        case MEDIUM:
            // Handle medium size
            break;
        case LARGE:
            // Handle large size
            break;
    }
  • Implementar interfaces: Os enums podem implementar interfaces, o que permite um código mais flexível e reutilizável.
    interface Describable {
        String getDescription();
    }
    
    enum Color implements Describable {
        RED, GREEN, BLUE;
    
        @Override
        public String getDescription() {
            return "Color: " + this.name();
        }
    }
  • Evite o uso excessivo: Embora os enums sejam poderosos, evite usá-los em excesso para constantes simples. Use-as quando houver um conjunto claro de constantes relacionadas.

Learn Java Essentials

Desenvolva suas habilidades em Java desde o início e domine os conceitos de programação.
Comece a aprender de graça