goods.initGoodsList();
public void initGoodsList() {
Goods goods1=new Goods(1,"冰淇淋奶茶",new BigDecimal("11"),100);
Goods goods2=new Goods(2,"四季奶青",new BigDecimal("12"),100);
Goods goods3=new Goods(3,"黑糖宝藏茶",new BigDecimal("20"),100);
Shop.goodsList.add(goods1);//商品加入集合
Shop.goodsList.add(goods2);
Shop.goodsList.add(goods3);
for(Goods goods:Shop.goodsList) {
System.out.println(goods);
}
initGoodsList判断Shop.goodsList是有数据存在就退出处理。每次都new一遍,新对象肯定会存在重复。
还有个方式就是把Goods的equals方法重写,id相同就返回true,只是多次初始化,浪费资源
你这个方法里面,每次执行的时候都会在list集合中加一遍,所以会显示重复的!
在进入initGoodsList方法中,先给 Shop.goodsList清空,然后再去添加,就不会重复了