java ArrayList的问题

本文解析了在Java中使用ArrayList添加自定义对象时的行为特点,特别是当连续修改同一对象实例并添加到列表中时,最终列表内容的表现形式。
ArrayList 的 add 方法。
如果list 内容为对象。
#IntStringList 是我自定义的一个class,有两个属性beforlineNum和info。

ArrayList<IntStringList> needAddList = new ArrayList<IntStringList>();
IntStringList oneNote = new IntStringList();
oneNote.setBeforlineNum(1);
oneNote.setInfo(“123”);
needAddList.add(oneNote);
oneNote.setBeforlineNum(2);
oneNote.setInfo(“456”);
needAddList.add(oneNote);

现在ArrayList<IntStringList> needAddList中add了两个IntStringList数据。
那么needAddList中的内容是什么?
是1,123;2,456?

结果:
needAddList.get(0).getBeforlineNum=2
needAddList.get(0).getInfo=456

needAddList.get(1).getBeforlineNum=2
needAddList.get(1).getInfo=456


实际上,ArrayList 的 add方法加一个对象时,追加的是指向这个对象的指针,也就是说,get(0)和get(1)是同一个对象。
get出来的内容自然一样。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值