遇到無法解釋的奇怪問題,map裏面的集合值是不同的,但是取出來都是第一個值,不會是對應key的值;
下面的日誌記錄:獲取到map<String,List>對象的值是正常的。
用第二個key取出來的list數據,始終都是第一個key對應的值:
問題代碼如下:
網上搜到一種解決這種問題的說法如下:
我這邊因爲和他的遍歷方式不同,改爲new對象放值,沒法解決問題,因爲值獲取出來的時候就錯誤了:
換了種map的迭代遍歷方式都是一樣,沒有解決問題:
最後實在是沒法,改寫這段代碼邏輯如下,才解決問題:
就這個問題,因爲是發生值生產環境,我折騰了4個小時,不斷加日誌嘗試,還好是半夜操作,最後總算是解決了,不然第二天現場交付的兄弟就不好面對客戶咯!
問題最終原因還是沒有找到,如果有哪位大神知道原因,還望答疑解惑!