【发布时间】:2017-09-24 15:24:43
【问题描述】:
public String generateCustomerID(String id, int digit)//Customer Class
randomGenerator = new Random();
String index = "";
for(int i = 1; i <= digit; i++)
{
index += randomGenerator.nextInt(10);
}
return id + index;
public void storeCustomer(Customer customer)//Shop Class
{
customerList.add(customer);
HashSet<String> set = new HashSet<>();
String number = customer.generateCustomerID("AB", 1);
set.add(number);
customer.setCustomerID(number);
}
如何确保只存储具有唯一 ID 的客户。例如,如果客户 A 的 id 为“AB-1”,那么客户 B 应该有一个不同的 id,如“AB-8”。我尝试使用 Hashset,但我不确定这是解决此问题的正确方法。我认为我不需要使用 UIDD。
【问题讨论】:
-
您是否在制作唯一 ID 时遇到问题,或者您正在使用的集合有问题?
-
这些客户最终会被存储在数据库中吗?它们需要在什么范围内独一无二?
-
我在制作唯一 ID 时遇到了问题。
-
您在
storeCustomer中定义您的set,因此每次调用此方法时都会重新创建它 - 将其作为字段移动。此外,您似乎没有检查此集合以查看该数字是否存在
标签: java