繁体   English   中英

根据对象数据生成唯一ID

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM