[英]Generate Unique Id based on object data
我正在做一个小项目,最终用户将数据输入到表单( jsp
)中。 我读取数据并保存到User
Object中,我需要将用户数据存储到一个file
而不是DB中 。 此处,每个用户数据都以一行文本存储在.txt
文件中。
我的要求是根据联系电话和电子邮件生成唯一的ID,目前,我正在考虑使用电子邮件ID生成hashcode
,该hashcode
将成为该用户的唯一标识号。 但我不想将-ve
值作为唯一ID。 我正在使用以下代码生成“哈希码”。
static int hashCode(User u) {
int hash = 37;
if (u != null) {
if (u.email != null && u.email.length() > 0) {
hash = "1@d&$2u".hashCode() + hash
+ u.email.toLowerCase().hashCode();
}
}
return hash;
}
我在这里做错什么吗? 还有什么其他方法可以根据电子邮件为每个用户对象生成唯一的ID。 如果两个用户对象的email id
相同,则两个对象的hashcode
必须相同 。
即使对于不同的值,哈希码也不必唯一。 您不应将其用作唯一ID。 直接使用电子邮件字符串。 电子邮件在定义上是唯一的。
如果需要数字ID,则使ID等于文本文件的行号。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.