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

Java Enums

Os enums em Java são um tipo de dados especial que permite que uma variável seja um conjunto de constantes predefinidas. Eles são usados para definir uma coleção de constantes conhecidas no momento da compilação, como dias da semana, direções ou estados. Os enums aumentam a segurança de tipo e a legibilidade do seu código, fornecendo uma maneira de representar conjuntos fixos de constantes.

Uso

Os enums são usados quando você tem um conjunto fixo de constantes relacionadas. Eles são particularmente úteis quando você deseja garantir que uma variável só possa assumir um de um pequeno conjunto de valores possíveis.

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

public class EnumExample {
    enum Day {
        SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
    }

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

Neste exemplo, um enum chamado Day é definido com constantes para cada dia da semana. A variável today recebe o valor Day.WEDNESDAY e o programa imprime o dia atual.

Exemplo 2: Enum com métodos

public class EnumWithMethodExample {
    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 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 string com base na constante do enum. O método usa uma instrução switch para determinar a cadeia de caracteres apropriada para cada tamanho.

Exemplo 3: Enum com campos e construtor

public class EnumWithFieldsExample {
    enum Color {
        RED("#FF0000"), GREEN("#00FF00"), BLUE("#0000FF");

        private String hexCode;

        Color(String hexCode) {
            this.hexCode = hexCode;
        }

        public String getHexCode() {
            return hexCode;
        }
    }

    public static void main(String[] args) {
        Color color = Color.RED;
        System.out.println("Color: " + color + ", Hex Code: " + color.getHexCode());
    }
}

Aqui, o enum Color tem um campo hexCode e um construtor para inicializá-lo. Você pode usar o enum para fazer isso. Cada constante de cor está associada a um código hexadecimal. O método getHexCode() recupera o código hexadecimal de uma determinada cor.

Dicas e práticas recomendadas

  • Use Enums para conjuntos constantes: Use enums quando você tiver um conjunto fixo de constantes que estejam logicamente relacionadas.
  • Tipo de segurança: Os enums oferecem segurança de tipo em tempo de compilação, garantindo que valores inválidos não sejam atribuídos a variáveis.
  • Métodos e campos: Os enums podem ter campos, métodos e construtores, o que permite um comportamento mais complexo e o encapsulamento de dados.
  • Trocar declarações: Os enums funcionam bem com as declarações switch, tornando o código mais legível e de fácil manutenção.
  • Evite usar ordinais: Evite usar o método ordinal de enums para persistência ou lógica, pois isso pode levar a erros se a ordem do enum for alterada.

Ao aderir a essas práticas recomendadas, você pode aproveitar todo o potencial dos enums em Java para criar um código mais robusto e de fácil manutenção.

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