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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

视频中,老师说equals()默认情况下比较的是地址值,重写该方法后就是比较的是内容。
                String s1="hello";
                String s2="world";
                String s3="helloworld";
                System.out.println(s3==s1+s2);//结果:false
                System.out.println(s3.equals(s1+s2));//结果true
问题是:我没有自己手动重写equals()的方法,为什么还是比较的是内容,而不是地址值?有点搞不懂

1 个回复

正序浏览
都没人回复。。。
不过终于明白了,通过查jdk api发现String类有个equals()成员方法来重写。

equals
public boolean equals(Object anObject)将此字符串与指定的对象比较。当且仅当该参数不为 null,并且是与此对象表示相同字符序列的 String 对象时,结果才为 true。
覆盖:
类 Object 中的 equals
参数:
anObject - 与此 String 进行比较的对象。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马