Java-为对象生成唯一的md5哈希值

时间:2019-07-22 06:31:14

标签: java hash unique md5 hashcode

我需要为对象生成唯一的哈希值,以标识具有相同确切属性的对象。

在阅读了有关该主题的内容后,我决定最好使用MD5哈希而不是java hashCode(我有大量对象,大约200,000-300,000)。

我找到了许多关于如何对字符串进行MD5哈希处理的示例,但没有找到如何对对象进行哈希处理,因此根据对象的属性,它实际上是唯一的。

1 个答案:

答案 0 :(得分:1)

对象的哈希码不需要唯一。顺便说一句,不可能

哈希码必须遵守以下合同:

  • 每次在相同状态下对同一对象调用时,它都应返回相同的值。
  • 如果根据Object::equals两个对象相等,则hashCode应该返回相同的对象。

大多数IDE都可以生成方法hashCode(),但是即使在JDK中也有一些工具可以生成哈希码,例如。 java.util.Objects.hash(Object...)

您可以阅读精彩的摘要here

相关问题