一尘不染

如何获取覆盖hashCode()的对象的唯一ID?

java

当Java中的类未覆盖 hashCode()时 ,打印此类的实例将提供一个不错的唯一数字。

Object的Javadoc谈到了 hashCode()

在合理可行的范围内,由Object类定义的hashCode方法确实为不同的对象返回不同的整数。

但是,当类重写 hashCode()时 ,如何获得其唯一编号?


阅读 305

收藏
2020-09-08

共1个答案

一尘不染

System.identityHashCode(yourObject)将给出yourObject的“原始”哈希码为整数。唯一性不一定得到保证。Sun
JVM实现将为您提供与该对象的原始内存地址相关的值,但这是实现的详细信息,您不应依赖它。

编辑:答案下面汤姆的评论重新修改。内存地址和移动对象。

2020-09-08