java - 在同一个类中使用 equals 方法而不覆盖

标签 java object equals

是否可以在不重写 equals 方法的情况下比较同一类的 2 个对象? 如果是,请告诉我如何..? 据我所知,不可能在不覆盖的情况下比较同一类的两个不同对象的变量,因为对象包含内存地址而不是变量值。

class A {
int x;
A(int x) {
this.x=x; }
}


A a1=new A(5);
A a2=new A(4);

我们可以使用 equals 方法比较 a1 和 a2 而不覆盖它吗?此外,应该比较该值而不是 a1 和 a2 处的地址...

最佳答案

可以使用 == 运算符或 equals()(如果未重写)来验证基本对象身份。如果您想定义自己的自定义 equals() 行为,当然您需要重写它。

关于java - 在同一个类中使用 equals 方法而不覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17320172/

相关文章:

java - Weblogic 杀死 CXF 的 SSL 配置?

java - 构造函数注入(inject): How to reduce amount of parameters?

javascript - 如何使用map()、reduce()和filter()简化javascript嵌套数组?

java - java中如何将数组作为参数?

java - 当索引位于自定义类上时,Spark join() 如何工作?

Java char 数组相等不起作用

java - 如何以编程方式查找对某个方法的所有引用?

java - hibernateentityManagerFactory init 抛出 ExceptionInInitializerError java.lang.ClassCastException

javascript - 如何获取 javascript 对象中的一个属性名称?

java - 如何在 java 中正确覆盖继承的 equals?