黑马程序员技术交流社区
标题:
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