代碼片段
val map = mutableMapOf<String, String>()
map.computeIfAbsent(key) { calcValue(it) }
帶calcValue簽名:
fun calcValue(key: String): String?
編譯出錯:
型別不匹配:推斷的型別是字串?但字串是預期的
但它是可以接受的mappingFunction,以回報null在Map.computeIfAbsent。
這是一個錯誤嗎?還是我做錯了什么?
uj5u.com熱心網友回復:
這顯然是 kotlin 團隊明確不允許的,以簡化使用。請參閱此處的說明:https : //youtrack.jetbrains.com/issue/KT-10982#focus=streamItem-27-2187715.0-0
因此,要么使用compute或使用可空型別作為地圖中的值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/365740.html
