關(guān)于添加商品進(jìn)購物車,同樣的商品不能疊加的問題
老師在前面已經(jīng)在Cart.java中的main方法測(cè)試過購物車類的同類商品疊加放入購物車問題。
貌似已經(jīng)完美的解決,所以老師在這一章完美應(yīng)用到了視圖層展示出來??墒俏覀兝鲜前l(fā)現(xiàn)
我們的視圖層的顯示似乎沒有測(cè)試的時(shí)候那么順利。所以才有了我這兩小時(shí)的debug之旅,好了
長話短說。
首先解決重復(fù)的問題肯定是HaspMap的containsKey來解決的,原理老師已經(jīng)講了
但是經(jīng)過調(diào)試我發(fā)現(xiàn)在equal方法中,商品名稱不能通過相等判斷。老師用的是==
我換成了equals()方法,然后就ok了。
Item.java中重寫equals方法
/** *?重寫判等方法 */ @Override public?boolean?equals(Object?obj)?{ if(this==obj){ ???????return?true; } if(obj?instanceof?Item)?{ if(?(((Item)obj).getName()).equals(this.getName())?&&?((Item)obj).getId()==this.getId())? { ????return?true; ????}else?{ return?false; ????????} } else{ return?false; ????} }
藏得很深的bug,代碼全都過了一遍,一步一步找出來了,感覺沒白費(fèi)力氣。
希望可以幫到你們
2020-02-06
受教了老鐵!!!
2019-11-06
請(qǐng)問debug是什么,是不是調(diào)試bug