java - Equals 枚举类型中的方法

标签 java enums equals

public enum EnumEqualsMethod {

    A,B,C

}


public enum EnumEqualsMethod1 {

    A,C,D

}

EnumEqualsMethod a =  EnumEqualsMethod.C;
ЕnumEqualsMethod1 b=  EnumEqualsMethod1.C;

System.out.println(a.equals(b));

输出为 false。为什么?

最佳答案

枚举作为对象进行比较。这是不同类别的两个不同对象。为什么他们应该相等? A、B、C - 只是变量的名称。它们在比较运算中毫无意义。

关于java - Equals 枚举类型中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27565240/

相关文章:

javac 无法找到导入

java - 常量特定类主体的非泛型 getClass() 方法是通过设计还是对 Java 的监督?

java - Processing 2.0 中的枚举

java - 在 ejb3 中未检索到整个实体

python - 针对 Python 中的枚举成员进行验证

c# - 有没有一种方法可以迭代并反射(reflect)枚举中包含的成员名称和值?

java - 通用 n 叉树中的 equals 方法

c# - Object.Equals(obj, null) 和 obj == null 有什么区别

当检查 getClass() 时,同一类的两个对象的 Java equals 实现返回 false

java - 如何在 Android Marshmallow 上从gradientDrawable获取颜色