是否可以在不重写 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/