DEV Community

Enumerações

  • Uma enumeração é uma lista de constantes nomeadas que define um novo tipo de dado.

  • Um objeto de um tipo de enumeração só pode conter os valores definidos pela lista.

  • Enumerações permitem criar um tipo de dado com um número fixo de valores válidos.

  • Exemplos do cotidiano incluem: moedas dos Estados Unidos (penny, nickel, dime, half-dollar, dollar), meses do ano (janeiro a dezembro), dias da semana (domingo a sábado).

  • Na programação, enumerações são úteis para definir conjuntos de valores que representam grupos de itens.

  • Exemplos em programação: Códigos de status como sucesso, em espera, falha, nova tentativa.

  • No passado, conjuntos de valores eram definidos com variáveis do tipo final, mas as enumerações oferecem uma abordagem mais estruturada.

Fundamentos da enumeração

Criação de enumerações:

  • Enumerações são criadas com a palavra-chave enum.
    enum Transport {
    CAR, TRUCK, AIRPLANE, TRAIN, BOAT
    }

  • Os identificadores (como CAR, TRUCK) são constantes de enumeração.

Características das constantes de enumeração:

  • São implicitamente públicas e estáticas.

  • São autotipadas, ou seja, têm o mesmo tipo da enumeração que as contém.

Uso de enumerações:

  • Não é possível instanciar uma enumeração com new.

  • Declaração de variável do tipo enumeração

Transport tp;

  • Atribuição de valor à variável:

tp = Transport.AIRPLANE;

Comparação de constantes de enumeração:

  • Pode ser feita com o operador ==.

if (tp == Transport.TRAIN) {
// ...
}

Uso em instruções switch:

  • É possível usar enumerações em switch.

  • Nas instruções case, as constantes são usadas sem qualificar com o nome da enum.

switch(tp) {
case CAR:
// ...
case TRUCK:
// ...
}

Exibição de constantes de enumeração:

  • Quando exibidas, elas mostram seu nome. System.out.println(Transport.BOAT); // Saída: BOAT

Exemplo:

// Enumeração de meios de transporte.
enum Transport {
CAR, TRUCK, AIRPLANE, TRAIN, BOAT //Declara uma enumeração.
}
class EnumDemo {
public static void main(String args[])
{
Transport tp; //Declara uma referência Transport
tp = Transport.AIRPLANE; //Atribui a tp a constante AIRPLANE
// Exibe um valor da enum.
System.out.println("Value of tp: " + tp);
System.out.println();
tp = Transport.TRAIN;
// Compara dois valores da enum.
if(tp == Transport.TRAIN)
System.out.println("tp contains TRAIN.\n");
// Usa uma enum para controlar uma instrução switch.
switch(tp) {
case CAR:
System.out.println("A car carries people.");
break;
case TRUCK:
System.out.println("A truck carries freight.");
break;
case AIRPLANE:
System.out.println("An airplane flies.");
break;
case TRAIN:
System.out.println("A train runs on rails.");
break;
case BOAT:
System.out.println("A boat sails on water.");
break;
}
}
}

  • As constantes de enumeração geralmente são escritas em maiúsculas, mas isso não é obrigatório.

  • O uso de maiúsculas segue a tradição de variáveis final que costumam usar esse estilo.

  • É uma questão de estilo, e programadores podem optar por outras formas.

  • Os exemplos do texto utilizam maiúsculas para manter consistência.

Top comments (0)