黑马程序员技术交流社区

标题: 关于String中创建对象问题 [打印本页]

作者: 大头爱傻瓜    时间: 2015-8-26 20:34
标题: 关于String中创建对象问题
String s1 = new String("abc");
String s2 = "abc";
我知道s1 与s2一个在堆中,一个在字符串常量池中,但是为什么他们的hashcode值是一样的,难道s2在计算hashcode的时候引用了s1的地址,还是反过来想 求解答
作者: 大头爱傻瓜    时间: 2015-8-26 20:45
连个水帖子的人都没有
作者: 哈皮哈皮doge    时间: 2015-8-26 21:51
首先,s1和s2是equals的,由于String类重写了父类(也就是Object)中的hashcode方法,而根据该hashcode方法的实现只要这2个对象equals,那他们的hashcode值就相等




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