用map集合做购物车时遇到的问题
1.Map<Product,Integer>作为购物车,Product表示商品,Integer表示添加的数量,添加的过程中,虽然后台代码中有判断是否是同一商品,
但是由于在map集合中,存储的内存地址不同,同一个商品就会存储多个对象,而不会出现同一个商品数量累加的情况。
解决方法是,重新商品实体中的hashCode和equals方法,用pid判断是否是同一个商品,只要pid相同,就是同一个商品,就累加数量。
1.Map<Product,Integer>作为购物车,Product表示商品,Integer表示添加的数量,添加的过程中,虽然后台代码中有判断是否是同一商品,
但是由于在map集合中,存储的内存地址不同,同一个商品就会存储多个对象,而不会出现同一个商品数量累加的情况。
解决方法是,重新商品实体中的hashCode和equals方法,用pid判断是否是同一个商品,只要pid相同,就是同一个商品,就累加数量。