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)