有关于java中List.add方法进行添加元素,发生覆盖的问题
问题原因:
对于List.Add(),如果添加的是基本类型(值),则添加的为值;若添加为引用类型(对象),则添加的为引用的地址。
所以,循环添加时,添加的都是同一个对象引用,对象的成员值改变,List中所有对象的值就改变了。
解决方法:
每次在改变值之前重新new一下对象,从而改变存储的引用地址,这样就不会发生元素覆盖。
问题原因:
对于List.Add(),如果添加的是基本类型(值),则添加的为值;若添加为引用类型(对象),则添加的为引用的地址。
所以,循环添加时,添加的都是同一个对象引用,对象的成员值改变,List中所有对象的值就改变了。
解决方法:
每次在改变值之前重新new一下对象,从而改变存储的引用地址,这样就不会发生元素覆盖。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步