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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

©   /  2014-7-18 18:25  /  2421 人查看  /  19 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在String中,有覆写了Object里面的equals方法的,比较的是两个字符串是否一样,。而==呢则比较的是两个对象所指向的地址值。你的c和d分别new了两个对象,所以开辟了两个空间,所以地址值肯定是不一样的,但是c和d的内容却是一样的所以c==d是false。而c.equals(d)是true。
而在e和f中也是一样,你的==和equals都是针对引用型变量来进行比较,没有调用e.num,比较的是两个对象。
在这里==和上面一样,比较的是地址值。这里的equals用的是Object类中的比较方式,Demo并没有复写,所以还是以比较地址值的方式在比较,所以两个都是false

评分

参与人数 1黑马币 +1 收起 理由
David.L + 1 很详细,理解了,谢啦

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马