为每个java对象实例生成唯一字符串
我需要编写一个函数,返回一个字符串,该字符串对于对象的每个状态都应该是唯一的
也就是说,如果任何一个实例变量被更改,那么这个方法应该返回另一个字符串,该字符串对于对象的给定实例变量集应该是唯一的
类似地,我稍后需要编写另一个表示类的唯一静态状态的方法
请提出任何有效的方法来达到我的要求
谢谢, 哈里什
你可以在下面搜索框中键入要查询的问题!
我需要编写一个函数,返回一个字符串,该字符串对于对象的每个状态都应该是唯一的
也就是说,如果任何一个实例变量被更改,那么这个方法应该返回另一个字符串,该字符串对于对象的给定实例变量集应该是唯一的
类似地,我稍后需要编写另一个表示类的唯一静态状态的方法
请提出任何有效的方法来达到我的要求
谢谢, 哈里什
# 1 楼答案
我建议你读一读关于物体的书。hashcode()。为hashcode generation推荐的想法可以用于您想要的目的
# 2 楼答案
一种相当简单的方法是将对象序列化到内存中,并对内容进行安全哈希。效率很低,但它可以用于任何可序列化对象
具体要求是什么
# 3 楼答案
如果要跟踪对给定对象状态(在其自身边界中)的更改,只需编写一点代码或采用已实现的方法即可实现。这就是你要问的吗?在您的情况下,使用递增序列号不合适的原因是什么
如果要保证给定类的所有现有实例之间的唯一性,这有点困难。您可能需要单独区分一个对象,然后询问每个对象其唯一的字符串表示形式
# 4 楼答案
您可以使用Java反射查找类中的所有字段并从中开始工作: