Em Java, enumerações são implementadas como tipos de classe, permitindo comportamentos semelhantes ao de outras classes.
É possível adicionar construtores, métodos, variáveis de instância e até implementar interfaces em uma enumeração.
Métodos predefinidos em enumerações:
values()
: Retorna um array contendo todas as constantes da enumeração.valueOf(String str)
: Retorna a constante de enumeração que corresponde ao valor passado como string.Exemplo:
Transport.valueOf("TRAIN")
retorna a constanteTRAIN
do tipoTransport
.Esses recursos tornam enumerações Java mais poderosas do que as de outras linguagens.
// Usa os métodos de enumeração internos.
// Enumeração de meios de transporte.
enum Transport {
CAR, TRUCK, AIRPLANE, TRAIN, BOAT
}
class EnumDemo2 {
public static void main(String args[])
{
Transport tp;
System.out.println("Here are all Transport constants");
// usa values()
Transport allTransports[] = Transport.values(); // Obtém um array de constantes Transport.
for(Transport t : allTransports)
System.out.println(t);
System.out.println();
// usa valueOf()
tp = Transport.valueOf("AIRPLANE"); //Obtém a constante de nome AIRPLANE.
}
}
O método values() pode ser usado diretamente em um laço for-each para percorrer todas as constantes de uma enumeração.
for (Transport t : Transport.values())
System.out.println(t);O método valueOf(String) retorna a constante da enumeração correspondente ao nome passado como string.
tp = Transport.valueOf("AIRPLANE");
- Não é necessário criar uma variável intermediária para armazenar o array retornado por
values()
.
Top comments (0)