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 元素时,始终使用