例如,我们现在有一个Person类
public class Person{
private String name;
private String id;
public Person(String name,String id){
this.name=name;
this.id=id;
}
}
我们在main函数中进行测试
Person p1=new Person("小明","101");
Person p2=new Person("小明","101");
System.out.println(p1.equals(p2)); //输出:flase
那么,我们如果要让他们比较的结果相等,那么我们就要告诉虚拟机他们怎么样进行比较?
所以我们要在Person类中添加一个方法:equals方法
public boolean equals(Object obj) {
if(obj instanceof Person){ //先检查进来的数据是否为Person类
Person person=(Person) obj; //如果是Person类,那么就将它强行转换为Person类
return (name.equals(person.name))&&(hh.equals(person.hh)); //最后比较Person中的每一个值是否相等,并返回结果!
}
return super.equals(obj); //如果他不是Person类,那么就直接调用ObJect中的equals方法,返回
}