所以问题是这个 - 这个方法完全正常工作:
public ShopItem getShopItem(String itemCode)
{
ShopItem storedShopItem=null;
if(itemsList.isEmpty())
{
System.out.println("The items list is empty");
}
else{
for(ShopItem shopItem : itemsList) {
if(shopItem.getItemCode().equals(itemCode)){
storedShopItem=shopItem;
}
}
}
return storedShopItem;
}
但是这一个 -
public ShopUser getShopUser(String shopUserID)
{
ShopUser storedShopUser=null;
if(usersList.isEmpty())
{
System.out.println("The users list is empty");
}
else{
for(ShopUser shopUser : usersList){
if(shopUser.getShopUserID().equals(shopUserID)){
storedShopUser=shopUser;
}
}
}
return storedShopUser;
}
不是。在使用调试器后,我发现在将值赋给storedShopUser
时会出现问题。无论两个字符串是否相等,它都会跳过它。两个get方法是相同的,并且都可以自行运行。