在做购物车的过程中由Map中的containsKey方法所产生的问题

在做购物车的过程中由Map中的containsKey方法所产生的问题

在做购物车的过程中由Map中的containsKey方法所产生的问题

之前做的Product中有的只是简单的set和get属性,于是在加入购物车的过程中一直显示上面这样的,然后Debug过程中发现是Product的对象问题,而containsKey的目的是要去比较对象的hashCode的以及进行equals判断,虽然是相同的Id去从数据库获取Product的信息,但是其对象的地址是一直改变的,为了保证Product对象的地址完全一致,此时就要重写对象中的hashCode方法和equals方法。

在做购物车的过程中由Map中的containsKey方法所产生的问题

重写的内容如上,这是为了保证相同的id属性得到的Product对象是相同的进而可以在Map中的containsKey方法中进行判断。下图是正确的显示过程。

在做购物车的过程中由Map中的containsKey方法所产生的问题