Avatar ·

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

大家好!我是一名Java初学者,在使用枚举(enum)时遇到了一个问题。 假设我有这样一个enum: ```java public enum Color { RED, GREEN, BLUE; } ``` 我想比较两个这种类型的变量,例如: ```java Color c1 = Color.RED; Color c2 = Color.RED; ``` 我在其他开发者的代码中看到两种比较方式: ```java if (c1 == c2) { ... } ``` 和 ```java if (c1.equals(c2)) { ... } ``` 两种方式似乎都能工作,但我不明白哪种是正确的以及为什么。网上说对于enum,== 是可靠的,但通常对于对象我们使用 equals()。 请告诉我: 1. 哪种方式更推荐,为什么? 2. 在某些情况下 == 会给出错误结果吗? 3. 性能上有区别吗? 提前感谢解答! <<>>

简短回答:使用 ==

在Java中比较 enum 元素时,始终使用