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

DNB*_*ims 1 java json md5 compare

例如,我有两个对象,其中一个类是Person.

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

Person B:
User_name:n1
Password:1234
Email:n1@email.com
Run Code Online (Sandbox Code Playgroud)

因为Person A和Person B都有相同的值,所以,我想编写自己的isValueEqual函数.首先,我想比较他们的课程,然后,我逐一考虑他们的价值来检查它是否相等.我认为这种方式非常耗时.因此,我认为将其变为JSON字符串是可靠的,并使用md5对它们进行哈希处理,并仅比较哈希值.那么,这是比较价值的更好方法吗?谢谢.

Bri*_*new 5

不可以.您可以遇到哈希冲突,从而将两个不同的对象识别为相同.

比较各个领域需要花费多少时间?如果您担心计算时间,请首先测量它(如果您认为它太慢,我会非常惊讶,并且哈希计算将大大减慢).如果您担心实施时间,请查看Apache Commons EqualsBuilder或类似内容.