我的数组不会在第一个列表之后添加任何内容,并且当我搜索之后的内容时始终返回null。
此方法有问题吗?
public void addItem(Item newItem) throws DuplicateItemException {
Item tempItem;
if(itemList == null)
itemList.add(newItem);
try {
tempItem = findItem(newItem.ID);
if(tempItem == null) {
itemList.add(newItem);
}
else {
throw new DuplicateItemException(newItem.ID + "already exists");
}
}
catch (ItemNotFoundException e) {
itemList.add(newItem);
}
}
答案 0 :(得分:0)
在您的代码中:
if(itemList == null)
itemList.add(newItem);
如果itemList
确实是null
,如何添加呢?
改为使用此
if(itemList == null) {
itemList = new ArrayList<>();
itemList.add(newItem);
}
答案 1 :(得分:-1)
尝试以下代码:
public void addItem(Item newItem) throws DuplicateItemException {
if(itemList == null){
itemList = new ArrayList<>(); //initialize list if null
}
if(itemList.contains(newItem)){
throw new DuplicateItemException(newItem.ID + "already exists");
}
itemList.add(newItem);
}