根据对象数据生成唯一ID

Mah*_*rma 1 java file hashcode

我正在做一个小项目,最终用户将数据输入表单(jsp).我读取数据并保存到UserObject中,我需要将用户数据存储到一个file 不进入DB中.这里每个用户数据都存储为.txt文件中的单行文本.

我的要求是根据联系号码和电子邮件生成唯一ID,目前我正在考虑生成email-id,hashcode这将是该用户的唯一标识号.但我不想将-ve值作为唯一ID.我使用以下代码生成`hashcode'.

 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;

}
Run Code Online (Sandbox Code Playgroud)

我在这里做错了吗?有没有其他方法可以根据电子邮件为每个用户对象生成唯一ID.如果两个用户对象相同email id,则两个对象hashcode 必须相同.

Evg*_*eev 5

即使对于不同的值,Hashcode也不需要是唯一的.您不应将其用作唯一ID.直接使用邮件字符串.根据定义,电子邮件是唯一

如果需要数字ID,则使ID等于文本文件行号.