A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

equals 在原始父类 Object 中比较的是对象的地址值, 但是
      if(p.name.equals(this.name) && p.age==this.age){
                                 return true;
      }
如果用equals比较对象中的姓名属性,那么此时equals比较的是什么?

老司机,help me

5 个回复

倒序浏览
方法重写了   比较的是名字这个属性是否一样
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
在String类下的equals方法重写了object类的方法,比较内容
回复 使用道具 举报
langyabang1110 发表于 2016-9-25 11:47
方法重写了   比较的是名字这个属性是否一样

,恩恩,知道比较的是名字属性,但是名字这个属性是String 类型的,比较属性时比较的还是这个属性的地址?
回复 使用道具 举报
Jarc 发表于 2016-9-25 16:46
在String类下的equals方法重写了object类的方法,比较内容

对 ,重写了Object类的方法,但是所谓的比较内容是指比较的哪方面?
例如  name属性 "小明","翠花",这两个属性用equals比较时,比较的是  小明   翠花  这两个关键字,还是存放 小明与翠花 这两个属性的地址值?
回复 使用道具 举报
飞舞的指尖 发表于 2016-9-25 16:49
,恩恩,知道比较的是名字属性,但是名字这个属性是String 类型的,比较属性时比较的还是这个属性的地址? ...

equals比较的是引用数据类型   使用这个方法的时候 所有对象都会继承object类中的方法  如果没有对equals方法重写 那么比较的是地址值  但实际上我们比较是否相同  根据的是对象中的属性值进行比较  所以需要我们重写方法 来定义自己对象的比较方式  代码中的比较就是对值的比较
回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马