kotlin下關於hashmap foreach時引發的一個問題

NO IMAGE

問題如下:

 map.forEach { key, value -> println("$key = $value") }

在使用上列方法對hashmap進行遍歷的時候,在某些機型上出現了一個錯誤:ClassNotFoundException

我百度了各種關鍵詞,都是與此無關的答案.最為接近的答案可能就是一個分析:jar包引用錯誤.

好吧.但是這是我能控制的嗎?並不是.所以顯然我沒找到真正的解決方案.

最後通過谷歌,我找到了真正問題所在:改寫成下列程式碼

map.forEach { (key, value) -> println("$key = $value") }

看起來很像對吧,僅僅是在key,value外層加上括號.原因是現在的Java8 的支援還不是特別完美,所以在內層相容的時候出現了上述問題.簡單來說加上這個括號就換了一種API引用的方式.

所以ClassNotFoundException這個提示其實完全是誤導性的,這個發生在底層的問題不是我們可以處理的,如果繼續在百度上坑,我可能還要浪費很多時間.

科學上網真的很重要啊.