我正在使用AtomicInteger类来增加customerID和productID的值。 我没有数据库,但我使用序列化来存储应用程序的状态及其基于命令的应用程序。每次我添加客户或产品时,他们的构造函数都会调用具有AtomicInteger的IDGenerateor类来创建ID。 但是存在不一致,有时会增加ID,有时候不会,有人能告诉我什么是错的。
public final class IdGenerator implements Serializable
{
private static AtomicInteger nextID = new AtomicInteger();
public static int newID()
{
return nextID.incrementAndGet();
}
}
public Customer (String name, String email, String phone, Address address)
{
this.name = name;
this.email = email;
this.phone = phone.replaceAll("[\\s\\-()]", ""); // drop all non-digit characters
this.address = address;
this.ID = IdGenerator.newID();
this.facebook="";
this.twitter="";
this.deliveryInstructions="";
}