为什么老师重写的equals方法中name需要用equals()进行比较而不用==?

来源:6-1 学生选课---判断 List 中课程是否存在

qq_做事不要偷懒_0

2017-04-03 20:24

我觉得这里也可以用==来比较啊
写回答 关注

4回答

  • 星鸿
    2017-04-18 14:06:29

    看第二章http://www.imooc.com/code/2203

  • 慕函数1733451
    2017-04-13 11:56:12

    测试了一下,两个都行呀!

  • qq_做事不要偷懒_0
    2017-04-03 22:44:56

    但是这里比较的是两个字符串类型,如果他们的name值相等,地址也是相等的啊

    say意

    字符串是引用类型,包含引用和对象两个部分,他们的对象内容相同,但是引用可能不同

    2017-04-03 23:19:25

    共 1 条回复 >

  • 慕仰0180559
    2017-04-03 21:48:24

    说不明白,百度一下==和.equals的区别,答案很详细。我的理解是这里因为需要比较两个name的值是否相等,如果用“==”号的话,即使两个name的值相等,但是是不同的对象,所以他们的内存地址不同,所以会判断为false,违背了我们的想法。所以用的是.equals。

    新手也是刚刚学习,回答仅作参考

    桥米 回复qq_做事不...

    字符串是引用型数据类型,name值相同,地址不一定相同啊。比如String a="java";String b="java";a==b就为false,他们是两个不同的对象,==比较内存地址,不一样的

    2017-04-13 15:18:32

    共 3 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题