我正在为学校开展基本的Java任务。该片段涉及在ArrayList中搜索特定的部件号。当我尝试编译时,IDE说我有一个缺少的return语句。但是,我看不到它在哪里。索引增量后是否需要返回语句?如果是这样,那么返回null变得无法访问。非常感谢你们。在某处丢失返回语句?
public InventoryItem findInventoryItem(int searchPartNumber)
{
int index = 0;
boolean searching = true;
while (index < items.size() && searching){
InventoryItem inventoryItem = items.get(index);
int fetchedPartNumber = inventoryItem.getPartNumber();
if(fetchedPartNumber == (searchPartNumber)){
searching = false;
return inventoryItem;
}
else{
index++;
}
if(searching){
return null;
}
}
}
想象一下'items.size()== 0'的情况,函数会返回什么? –
或者在所有情况下'fetchedPartNumber'不等于'searchPartNumber',或者'fetchedPartNumber'为null,或者...建议OP重新编写方法体。 – Dave
“搜索”变量似乎是多余的。在唯一的情况下,它被设置为“假”,你会立即返回。 –