DEV Community

FUNDAMENTOS JAVA
FUNDAMENTOS JAVA

Posted on

1

Enumerações herdam de java.lang.enum

Restrições de enumerações em Java:

  1. Não podem herdar outra classe.
  2. Não podem ser superclasses.

Todas as enumerações herdam automaticamente da classe java.lang.Enum, que fornece métodos úteis, como:

ordinal():

  • Retorna a posição da constante na lista de constantes, começando em zero.

  • Exemplo: Na enum Transport, CAR tem ordinal 0, TRUCK tem ordinal 1, e assim por diante.

compareTo(tipo-enum e):

  • Compara o valor ordinal da constante chamadora com outra constante da mesma enumeração.

  • Retorna:

  • Valor negativo: se o valor ordinal da chamadora for menor.

  • Zero: se forem iguais.

  • Valor positivo: se for maior.

  • Apesar das restrições, enumerações funcionam como classes com comportamentos similares.

// Demonstra ordinal() e compareTo().
// Enumeração de meios de transporte.
enum Transport {
CAR, TRUCK, AIRPLANE, TRAIN, BOAT
}
class EnumDemo4 {
public static void main(String args[])
{
Transport tp, tp2, tp3;
// Obtém todos os valores ordinais usando ordinal().
System.out.println("Here are all Transport constants" +
" and their ordinal values: ");
for(Transport t : Transport.values())
System.out.println(t + " " + t.ordinal()); //Obtém os valores ordinais.
tp = Transport.AIRPLANE;
tp2 = Transport.TRAIN;
tp3 = Transport.AIRPLANE;
System.out.println();
// Demonstra compareTo()
if(tp.compareTo(tp2) < 0) //Compara valores ordinais
System.out.println(tp + " comes before " + tp2);
if(tp.compareTo(tp2) > 0)
System.out.println(tp2 + " comes before " + tp);
if(tp.compareTo(tp3) == 0)
System.out.println(tp + " equals " + tp3);
}
}

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay