list.add()添加的都是最后一条数据,重复

list.add()添加的都是最后一条数据,重复

这个时候list的size正确,但是最后输出的值不是我们想的结果(0,1,2),而是重复的最后一次的结果

因为,new 在for外层,new 一个对象地址,List每次只访问这个引用地址,而我们的代码只是对引用地址里的对象进行操作,所以会数据覆盖,最后遍历只是把同一个地址的对象遍历了三次。

 

解决,在每次for循环是都new一个地址对象,每次赋值都是一个新的地址。

list.add()添加的都是最后一条数据,重复

你学到了吗,你又值钱了~