list集合存引用数据类型时的问题
list集合存引用数据类型时的问题
集合list的存储元素:
创新互联公司是一家集网站建设,古冶企业网站建设,古冶品牌网站建设,网站定制,古冶网站建设报价,网络营销,网络优化,古冶网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
(1)如果list中存的是基本数据类型,则存的是值
(2)如果list中存的是引用数据类型(如对象等),则存的是引用
如果对象的引用地址没变,内容变化,也会引起调用该对象时内容变化
下面举一个在集合list中存放对象的例子:
//构建原始数据
ArrayList 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);
}
结果:
原始数据:
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中元素内容的改变
文章标题:list集合存引用数据类型时的问题
转载注明:http://azwzsj.com/article/jhhgoj.html