Avatar ·

Java中enum的比较:使用==还是equals()?

大家好!我刚开始学习Java不久,遇到了一个关于enum的问题。当我比较两个enum类型的变量时,我发现既可以使用==运算符,也可以使用equals()方法。两种方式在我的代码中都能工作,但我不明白哪一种才是正确的以及为什么。 以下是我感到困惑的示例代码: ```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; // 通过==比较 System.out.println(c1 == c2); // true System.out.println(c1 == c3); // false // 通过equals()比较 System.out.println(c1.equals(c2)); // true System.out.println(c1.equals(c3)); // false } } ``` 两种方式都给出了相同的结果。但我听说对于对象通常应该使用equals(),而==比较的是引用。然而enum的表现却...