我有3个列表:Sales, Customers, Items
持有自己同名的对象。
我有一个方法:
public boolean sellItem(int itemId, int customerId) {
if (customers.contains(customerId) && items.contains(itemId)){
for (Item i : items) {
if(i.getItemId() == itemId && i.getStockNum()>0) {
sales.add(new Sale(LocalDateTime.now(), itemId, customerId, i.getCost()));
i.sell();
}
for (Customer c : customers) {
if (c.getCustomerId() == customerId) {
c.charge(i.getCost());
}
}
}
return true;
}
return false;
}
但我明白,我无法找到列表是否包含类似ID的内容,但仅限于包含完整对象等的内容。
无论如何都要以一种我想念的简单方式完成这项工作?
答案 0 :(得分:0)
为什么在你已经检查'for'循环中是否有一个带有该ID的对象时,你想要做if (customers.contains(customerId) && items.contains(itemId))
这样的事情?看起来它只会删除'if'语句。