首页 > 编程语言 >Java中利用循环向list中add添加元素得到的都是最后一个

Java中利用循环向list中add添加元素得到的都是最后一个

时间:2022-10-28 11:56:58浏览次数:42  
标签:Java 对象 元素 list 地址 add 添加

 

背景:通过增强for循环,list.add()赋值,发现得到的元素都是最后一个

 

 

原因:list在add添加元素时访问的是该对象的引用地址,list中存储的全是实例化后的对象的地址,而java中对象存储的也是地址,当同一个对象的值发生改变时,该地址的值会发生改变,这就导致了list中添加的元素都是同一个地址,当改地址存储的值发生改变,list中所有元素值都会改变,都为最后一次改变的值。

解决办法:在循环内new对象

 

 

标签:Java,对象,元素,list,地址,add,添加
From: https://www.cnblogs.com/wanbiao/p/16835397.html

相关文章