黑马程序员技术交流社区

标题: equals()比较字符串,需要自己手动重写么 [打印本页]

作者: 醇逸    时间: 2016-6-12 22:17
标题: equals()比较字符串,需要自己手动重写么
视频中,老师说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()的方法,为什么还是比较的是内容,而不是地址值?有点搞不懂
作者: 醇逸    时间: 2016-6-15 15:36
都没人回复。。。
不过终于明白了,通过查jdk api发现String类有个equals()成员方法来重写。

equals
public boolean equals(Object anObject)将此字符串与指定的对象比较。当且仅当该参数不为 null,并且是与此对象表示相同字符序列的 String 对象时,结果才为 true。
覆盖:
类 Object 中的 equals
参数:
anObject - 与此 String 进行比较的对象。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2