Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何访问内置的.equal();什么被推翻了?_Java_Equals - Fatal编程技术网

Java 如何访问内置的.equal();什么被推翻了?

Java 如何访问内置的.equal();什么被推翻了?,java,equals,Java,Equals,所以我创建了equals()方法。如果我想比较两个对象,它们只能看到这一个。如何让我的对象使用对象类中定义的对象 public boolean equals(Object object1) { if(a == object1) { return true; } else return false; } 如何让我的对象使用对象类中定义的对象 如果在类中不重写equals,它将默认使用在父类中声明的。如果没有最接近的父类拥有它,则对象类拥有一个将被使用的父类 但是,如果要在类的任何

所以我创建了equals()方法。如果我想比较两个对象,它们只能看到这一个。如何让我的对象使用对象类中定义的对象

public boolean equals(Object object1) {
if(a == object1) {   
    return true;
}
else return false;
}

如何让我的对象使用对象类中定义的对象

如果在类中不重写
equals
,它将默认使用在父类中声明的。如果没有最接近的父类拥有它,则
对象
类拥有一个将被使用的父类


但是,如果要在类的任何方法中从
Object
类调用
equals
,则需要使用
super
,它是对父类的引用。您需要使用
super.equals()

它将使用最接近的父类中的一个覆盖
equals
,等等precisely@Dici:是的。@平方根:如果您的类或其任何父类(对象除外)已重写
equals
方法,则默认情况下将使用
Object
中的方法。对象中的
equals
检查引用相等性,您可能并不真正需要它。@Square root那么使用
Object
equals
实现就没有意义了。是的,这是每个人都在试图告诉您的
Object.equals
使用
=
,因此您不想使用它。您必须覆盖
equals
以考虑属性的值,这很简单
public static void main(String[] args) {
Compare object1 = new Compare("test");
Compare object2 = new Compare("test");
if(object1.equals(object2)
 .................

}