包装类不是简单数据类型,是对象,两个对象比较的不是比较值,而是比较的内存地址值,对于Long这种包装类,要用longValue()取到值再比较
List<TbItem> cartList = getCartListFromCookie(request);
//判断商品是否存在
boolean flag=false;
//如果存在,数量相加
for (TbItem tbItem : cartList) {
if(tbItem.getId() == itemId.longValue()){
flag=true;
tbItem.setNum(tbItem.getNum()+num);
//跳出循环
break;
}
}
其中if(tbItem.getId() == itemId.longValue())这个比较,两边有一边加上longValue(),比较的就是其中的数值,等同于if(tbItem.getId().longValue() == itemId)