遇到无法解释的奇怪问题,map里面的集合值是不同的,但是取出来都是第一个值,不会是对应key的值;
下面的日志记录:获取到map<String,List>对象的值是正常的。
用第二个key取出来的list数据,始终都是第一个key对应的值:
问题代码如下:
网上搜到一种解决这种问题的说法如下:
我这边因为和他的遍历方式不同,改为new对象放值,没法解决问题,因为值获取出来的时候就错误了:
换了种map的迭代遍历方式都是一样,没有解决问题:
最后实在是没法,改写这段代码逻辑如下,才解决问题:
就这个问题,因为是发生值生产环境,我折腾了4个小时,不断加日志尝试,还好是半夜操作,最后总算是解决了,不然第二天现场交付的兄弟就不好面对客户咯!
问题最终原因还是没有找到,如果有哪位大神知道原因,还望答疑解惑!