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
Resposta curta: use ==
Para comparar elementos de enum em Java, sempre use
No answers yet.
Faça login para deixar uma resposta
Blogs
Trabalhando com datas e horas em Kotlin: guia completo
Dependency Injection em Swift: princípios, exemplos e implementação
Como obter timestamp no Android com Kotlin: guia completo
Rust no LeetCode: Resolvendo problemas e aprimorando habilidades