我是一名 Java 新手。但我确信我可以以非常有效的方式完成这项工作。
此方法的目的是添加具有唯一 ID 的产品。如果我的产品是重复的,我应该抛出一个异常。好吧,这个序列不适用于多线程环境。
public void addProduct(Product product)
throws ProductAlreadyExistsException {
product.id = ++nextId;
this.id = product.id;
Iterator<Product> it = allProducts.iterator();
Product p= null;
boolean flag= false;
if (!allProducts.isEmpty()) {
while(it.hasNext()){
p= it.next();
if ( p.getName() == product.getName())
throw new ProductAlreadyExistsException(p.getName());
else
flag = true;
}
}
else
allProducts.add(product.id-1, product);
if(flag){
allProducts.add(product.id-1, product);
}
}
我想要的是这样的东西。
for (Product p : allProducts) {
if (p.getName() == product.getName() ) {
throw new ProductAlreadyExistsException(p.getName());
}
allProducts.add(p);
}
}
这不起作用。谢谢你指导我。。