集合list的存儲元素:java
(1)若是list中存的是基本數據類型,則存的是值app
(2)若是list中存的是引用數據類型(如對象等),則存的是引用ide
若是對象的引用地址沒變,內容變化,也會引發調用該對象時內容變化 code
下面舉一個在集合list中存放對象的例子:對象
//構建原始數據 ArrayList<Goods> list = new ArrayList(); Goods goods1=new Goods("plum ", 2); list.add(goods1); list.add(new Goods("apple", 1)); list.add(new Goods("banana", 2)); //打印原始數據 System.out.println("原始數據:"); for(Goods goods : list){ System.out.println(goods); } goods1.setGoodsId(444);//改變goods1的內容 System.out.println("原始數據1:"); for(Goods goods : list){ System.out.println(goods); }
結果:it
原始數據: Goods{goodsName='plum ', goodsId=2} Goods{goodsName='apple', goodsId=1} Goods{goodsName='banana', goodsId=2} 原始數據1: Goods{goodsName='plum ', goodsId=444} Goods{goodsName='apple', goodsId=1} Goods{goodsName='banana', goodsId=2}
結果代表:因爲list中存儲對象的引用所指的內容發生了變化,因此致使了list中元素內容的改變class