为了账号安全,请及时绑定邮箱和手机立即绑定

视频中老师提的问题,为什么name属性必须用equals()方法不能用==

this.name.equals(course.name)

为什么不可以直接用

this.name==course.name

正在回答

5 回答

String类是引用类型,当 == 两边是引用类型的时候,系统会自动比较两个引用类型的引用地址是否相等,即是否是同一个地址值,而不是比较两个引用的属性是否相等

4 回复 有任何疑惑可以回复我~
#1

啊梨真神奇 提问者

非常感谢!
2016-02-20 回复 有任何疑惑可以回复我~

楼上是正确解答!

0 回复 有任何疑惑可以回复我~

因为String 是特殊的引用类型,String类中重写了equals方法,只要两个字符串的内容相同就返回true,而又因为==号比较的是引用类型时,比较的是引用地址,所以用equals方法比较name

3 回复 有任何疑惑可以回复我~

不准确吧,equals比较内容只能在String内的 ,别的不成立

0 回复 有任何疑惑可以回复我~

==是比较内存地址 

equals比较 两个字符串的内容

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

视频中老师提的问题,为什么name属性必须用equals()方法不能用==

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信