Avatar ·

Comparación de enum en Java: ¿usar == o equals()?

¡Hola a todos! Empecé a estudiar Java no hace mucho y me encontré con una pregunta sobre enum. Cuando comparo dos variables de tipo enum, veo que puedo usar tanto el operador == como el método equals(). Ambas opciones funcionan en mi código, pero no entiendo cuál es la correcta y por qué. Aquí hay un ejemplo de código que me confunde: ```java public enum Color { RED, GREEN, BLUE } public class Main { public static void main(String[] args) { Color c1 = Color.RED; Color c2 = Color.RED; Color c3 = Color.GREEN; // Comparación con == System.out.println(c1 == c2); // true System.out.println(c1 == c3); // false // Comparación con equals() System.out.println(c1.equals(c2)); // true System.out.println(c1.equals(c3)); // false } } ``` Ambas formas dan el mismo resultado. Pero he oído que para objetos normalmente se debe usar equals(), mientras que == compara referencias. Sin embargo, enum se comporta de manera diferente.