Java常见对象引用错误
2020-12-22 17:54:55
今天在写财务系统某汇总功能的时候不小心犯了一个很基础的错误,导致汇总和明细的某金额字段核对出现一些误差。
以下是bug解决前后代码对比:
修改前:
红框内这样赋值集合元素的引用看似没啥问题,而且可以使代码更加简洁,但是后面对赋值后的对象dto进行操作可能会改变集合tmpList元素的属性值。
至今未想明白,这样为什么会对最终结果造成影响???
即使改变了集合tmpList元素的属性值,循环到下一次也换成其他元素(tmpList)了啊。。。
修改后:
这样写才是对的,就是代码不够简洁,对于有代码洁癖的我来说也是挺难受的!!!
按理说应该这两种情况得到的dataList是一样的,可实际结果为什么不一样呢?求大神指教。。。谢谢!!!