Avatar ·

Comparação de elementos enum em Java: usar == ou equals()?

Olá a todos! Sou um desenvolvedor Java iniciante e tenho uma dúvida sobre o trabalho com enumerações (enum). Digamos que eu tenha este enum: ```java public enum Color { RED, GREEN, BLUE; } ``` E eu queira comparar duas variáveis deste tipo, por exemplo: ```java Color c1 = Color.RED; Color c2 = Color.RED; ``` Vejo no código de outros desenvolvedores duas formas de comparação: ```java if (c1 == c2) { ... } ``` e ```java if (c1.equals(c2)) { ... } ``` Ambas as opções parecem funcionar, mas não entendo qual é a correta e por quê. Na internet dizem que para enums o == funciona de forma confiável, mas normalmente para objetos usamos equals(). Por favor, me expliquem: 1. Qual forma é preferível e por quê? 2. O == pode dar um resultado falso em algum caso? 3. Há diferença de desempenho? Agradeço desde já pela explicação! <<>>

Resposta curta: use ==

Para comparar elementos de enum em Java, sempre use