用equals方法比对时的问题

用equals方法比对时的问题

http://img1.sycdn.imooc.com//climg/612b952d097104b812700310.jpg

this.getName().equals(obj.getName())具体是什么意思呢?​

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕阿满 2021-08-30 11:12:49

同学你好,this.getName().equals(obj.getName())是比较两个对象的名称是否相同。

this是指当前对象,也就是哪个对象调用equals()方法,this就是指这个对象。this.getName()是获取当前对象的名称,obj是传入的对象,obj.getName()是获取传入对象的名称。name属性在定义时是String类型的,这里相当于String类型数据调用equals()方法进行比较,判断两个对象的名称是否相同。

祝学习愉快~

  • name因为是String类型的所以是比较的内容是否相同,但是==不是比较地址是否一样嘛 为什么重写方法再调用之后月份也会显示true  不同对象的月份 ==比较不应该是不相等嘛  不是一个地址啊


    2023-10-28 11:26:47
  • 同学你好,字符串是Java中比较特殊的对象,这部分会在后面String类型中有具体讲解。这里老师可以简单的给同学一个结论,以便理解本处,但是细节和原因需要同学学习后面的课程。

    1.当字符串不是使用new关键字创建的时候,可以使用“==”进行对比;

    2.当字符串使用new关键字创建的,就必须使用equals进行对比。

    这里的new关键字创建是指“new String("imooc")”的形式。

    祝学习愉快~

    2023-10-30 10:05:10
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师