java - 这是使用 md5 哈希比较两个 java 对象值的可行方法吗?

标签 java json compare md5

例如,我有两个对象,一个是类 Person。

Person A:
User_name:n1
Password:1234
Email:n1@email.com

Person B:
User_name:n1
Password:1234
Email:n1@email.com

因为 Person A 和 Person B 具有相同的值,所以,我想编写自己的 isValueEqual 函数。首先,我要比较它们的类,然后,我将它们的值一个一个地比较,以检查它们是否相等。我认为这种方式非常耗时。所以,我认为把它变成一个 JSON 字符串,然后使用 md5 对它们进行散列,然后只比较散列是否可靠。那么,这是比较它们值(value)的更好方法吗?谢谢。

最佳答案

没有。你会遇到 hash collision从而将两个不同的对象识别为相同。

比较字段有什么耗时的?如果您担心计算时间,请先测量它(如果您认为它太慢,我会感到非常惊讶,并且哈希计算会非常慢)。如果您担心实现时间,请查看 Apache Commons EqualsBuilder或类似的。

关于java - 这是使用 md5 哈希比较两个 java 对象值的可行方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13200078/

相关文章:

java - 我是否正确使用 Java 中的静态方法?

php - 根据另一个表列更新表列

Python:比较两个 Pandas DataFrame 并获取差异索引

java - 字符串比较无法正常工作?

java - 调用使用泛型定义的方法时为 "error: cannot find symbol "

java - 使用 Netbeans 7.01 中的表单插入数据库

java - Jooq - 带有时间的日期列

javascript - 使用 JQuery Ajax 将 Json 对象数组发送到 Web 方法

php - 使用 php 将多维数组从多个表转换为单个 json 数组值

json - Play 框架,JSON 读取组合器,具有覆盖的 apply 方法