我想映射Map<DAO, Int>到Map<String, Boolean>但我无法在map函数中返回Map.Entry:
itemsWithQuantity.mapTo(mutableMapOf<String, Boolean>(), { it.key.toString() to it.value != 0 })
Run Code Online (Sandbox Code Playgroud)
(当然我使用的是更复杂的映射功能,但没关系,问题是一样的)
它说
MutableMap<String, Boolean> is not a subtype of MutableCollection<Pair<String, Boolean>>.
Run Code Online (Sandbox Code Playgroud)
那么我怎样才能返回Map.Entry而不是Pair?
现在我这样做:
val detailsIds = mutableMapOf<String, Boolean>()
itemsWithQuantity.forEach { item, quantity -> detailsIds.put(it.key.toString(), it.value != 0) }
Run Code Online (Sandbox Code Playgroud)
但是我想用mapTo
hot*_*key 16
associateTo改为使用:
xs.associateTo(mutableMapOf<String, Boolean>(), { "${it.key}" to (it.value != 0) })
Run Code Online (Sandbox Code Playgroud)
另外,请注意左右括号it.value != 0.
mapTo类似于map,该函数不会将结果收集到a中Map,而是与a一起使用Collection,期望您提供a MutableCollection<Pair<String, Boolean>>.
| 归档时间: |
|
| 查看次数: |
2841 次 |
| 最近记录: |