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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 大头爱傻瓜 中级黑马   /  2015-8-26 20:34  /  1074 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

String s1 = new String("abc");
String s2 = "abc";
我知道s1 与s2一个在堆中,一个在字符串常量池中,但是为什么他们的hashcode值是一样的,难道s2在计算hashcode的时候引用了s1的地址,还是反过来想 求解答

2 个回复

倒序浏览
连个水帖子的人都没有
回复 使用道具 举报
首先,s1和s2是equals的,由于String类重写了父类(也就是Object)中的hashcode方法,而根据该hashcode方法的实现只要这2个对象equals,那他们的hashcode值就相等
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马