Comparación de elementos enum en Java: ¿usar == o equals()?
¡Hola a todos! Soy un desarrollador Java principiante y tengo una pregunta sobre el trabajo con enumeraciones (enum).
Supongamos que tengo este enum:
```java
public enum Color {
RED, GREEN, BLUE;
}
```
Y quiero comparar dos variables de este tipo, por ejemplo:
```java
Color c1 = Color.RED;
Color c2 = Color.RED;
```
Veo en el código de otros desarrolladores dos formas de comparación:
```java
if (c1 == c2) { ... }
```
y
```java
if (c1.equals(c2)) { ... }
```
Ambas opciones parecen funcionar, pero no entiendo cuál es la correcta y por qué. En internet escriben que para los enum, == funciona de manera confiable, pero normalmente para objetos usamos equals().
Por favor, indíquenme:
1. ¿Qué método es preferible y por qué?
2. ¿Puede == dar un resultado falso en algún caso?
3. ¿Hay alguna diferencia en el rendimiento?
¡Gracias de antemano por la explicación!
<<>>
Respuesta breve: use
Respuesta breve: use ==
Para comparar elementos de enum en Java, siempre use