Java中对象的equals比较

例如,我们现在有一个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方法,返回

}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值