DEV Community

As enumerações Java são tipos de classe

  • 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 constante TRAIN do tipo Transport.

  • 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)