java object hash_java中Object类的HashCode方法

求解!首先不明白的就是Object中hashCode方法的作用是什么?书上介绍说这个散列码是对象的存储地址,而且对象不同其所调用hashCode方法所得到的值应该是不同的。我做了一个实验。自己...

求解! 首先不明白的就是Object中hashCode方法的作用是什么? 书上介绍说这个散列码是对象的存储地址, 而且对象不同其所调用hashCode方法所得到的值应该是不同的。 我做了一个实验。自己创建了对象数组,让对象分别调用getName和hashCode方法,可是先后得到的结果却是不一样的。如下:Carl Cracker 28737396Harry Hacker 6927154Tony Tester 24355087-----------------------------Carl Cracker 6927154Harry Hacker 24355087Tony Tester 5442986还有就是在百&度&知&道上看到一个问题,我没搞明白。大虾就烦劳您给解释一下吧。多谢多谢!如下:String a = new String("i love you");String b = new String("i love you");我知道上面a与b的哈希值是一样。能不能由此判断a与b都是引用同一字符串对象。--------------------------------------------若b中的字符串值变为 b = "i hate you",同时a的字符串值保持为原值,即i love you。发现这时的a与b的哈希值是不一样。这时也能不能判断它们引用了两个不同的字符串对象。----------------------------------------------当 b = "i love you"且a不变时,发现 a与b的哈希值又一样了。能不能说b又引用了与a一样的对象。 总言之,能不能依靠String类中已覆盖过的hashCode()方法来判断字符串类型的引用变量(即如a或b那样的变量)是否指向同一个对象。这个被覆盖过的hashcode()方法所产生的哈希值能不能作为对象的一个唯一的标识号。 想再问一下:在String类中被覆盖过的hashCode()和Object类中的hashCode()方法有什么区别?作用是不是与Object类中的原方法一样呢?

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值