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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 苏乞儿 中级黑马   /  2014-9-15 00:19  /  600 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

还是老问题啊,请看:
String s1="abc";
String s2=new String("abc");
比较:s1==s2?这个答案大家都知道是false,但是s1.hashCode()却等于s2.hashCode();???????迷茫了。。。。。
“==”不是比较的是地址吗?地址不就是哈希值?

3 个回复

倒序浏览
谁说地址就是哈希值?哈希值可以是任意int。只有直接从Object继承下来的hashCode方法才返回地址值。String重写了hashCode方法
回复 使用道具 举报
fantacyleo 发表于 2014-9-15 01:04
谁说地址就是哈希值?哈希值可以是任意int。只有直接从Object继承下来的hashCode方法才返回地址值。String ...

嗯,有点明白了,。。。。。
回复 使用道具 举报
理解了   
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马