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

contains与equlas的调用问题


equlas方法比较的不是两个对象的内容吗?为什么在第七分钟调用contains方法时返回的是false?(course和course2的内容一样,contains方法原理是每个元素调用equlas方法)

正在回答

1 回答

虽然这两个对象属性相同  但是他们并不是同一个对象 而默认的equals方法比较的是两个对象的内存地址是否相同  所以不同对象肯定是不同的 故返回false  如果想通过属性相同返回true,则需要重写equals方法  改变他的判断条件即可

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

慕粉4402045 提问者

String s1 = new String("abc"); String s2 = new String("abc"); System.out.println(s1.equals(s2)); 这个返回的是true;比较的是两个对象的内容,不是内存地址,为什么
2017-07-22 回复 有任何疑惑可以回复我~
#2

湖水换成泪 回复 慕粉4402045 提问者

因为啊 在string类里已经重写了equals方法 使它比较的就是字符串的内容
2017-07-23 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

contains与equlas的调用问题

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