【发布时间】:2015-05-08 19:44:10
【问题描述】:
当我尝试在我的应用程序中生成唯一的客户 ID 时遇到问题。我希望数字从 1 开始向上。我有一个使用树形图的注册类,它使用以下代码生成下一个客户编号:
public String generateNumber()
{
int number = 1;
for(Map.Entry<String, Forsikringkunde> entry : this.entrySet())
{
if(entry.getValue().getNumber().equals(String.valueOf(number)))
{
number++;
}
}return String.valueOf(number);
}
当我在我的应用程序中生成客户时,即使我遍历地图,我也会得到重复的数字。创建客户时,我创建了对象,运行此方法,对 ID 使用 set-method 并将其添加到寄存器中,但它不起作用。谁有解决办法?
【问题讨论】:
-
不确定,但并非每张地图都会保存您将元素放入其中的顺序。也许地图在同一个对象上迭代了几次? - 见stackoverflow.com/questions/2889777/…
-
啊,我的错。应该是数字。只是忘了翻译那部分代码。