我正在做一个小项目,最终用户将数据输入表单(jsp
).我读取数据并保存到User
Object中,我需要将用户数据存储到一个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; }
我在这里做错了吗?有没有其他方法可以根据电子邮件为每个用户对象生成唯一ID.如果两个用户对象相同email id
,则两个对象hashcode
必须相同.
即使对于不同的值,Hashcode也不需要是唯一的.您不应将其用作唯一ID.直接使用邮件字符串.根据定义,电子邮件是唯一
如果需要数字ID,则使ID等于文本文件行号.