我有以下情况。在我的Java后端,我从服务中收集一些数据,我从中创建数据对象并将其传递给我的Angular前端。然后,用户可以选择对其中一个对象执行某些操作,并将其更改后的状态发送到后端。后端再次从服务收集相同的数据,现在我必须确定用户选择的对象。我想通过创建一个公共标识符来做到这一点。以下是我的问题:如何才能最好地生成标识符?
首先,我做了以下事情:
但是,我遇到了以下问题。第二次调用服务时,相同的数据可能会以不同的顺序返回。所以我的第一个想法是首先对收集的数据进行排序,然后分配整数。但订购这些数据非常痛苦,所以我想到了其他的东西:
这会创建一个无法追溯到原始数据的int。这正是我想要的,但现在是有趣的部分。 hashCodes可能会发生冲突。我担心,在非常非常罕见的情况下,即使原始字符串不同,hashCode也是一样的!
我的恐惧是否已经停止?我怎样才能创造出更好的身份?