【发布时间】:2020-07-06 14:42:42
【问题描述】:
我正在尝试使用 kotlin 创建一个 MutableList,但我收到一条错误消息:
类型推断失败。预期类型不匹配:推断类型为 MutableList 但预期为 MutableCollection
...我不确定如何将 MutableList 转换为 MutableCollection。
我尝试过使用:
.toMutableList().toCollection()
但它正在寻找目的地 - 我不知道该怎么做。
代码片段:
data class HrmSearchResult(
var rssi: Short?,
var adjustRssi: Short?,
var timeout: Int,
var serialNumber: Long?,
var isIn: Boolean,
var countIn: Int
)
private val hashMapHrm = ConcurrentHashMap<Long?, HrmSearchResult>()
val hrmDeviceList: MutableCollection<Long>
get() = try {
if (hashMapHrm.elements().toList().none { it.isIn}) {
//if there are no member in range, then return empty list
arrayListOf()
} else {
hashMapHrm.elements()
.toList()
.filter { it.isIn }
.sortedByDescending { it.adjustRssi }
.map { it.serialNumber }
.toMutableList().toCollection()
}
} catch (ex: Exception) {
AppLog.e(
LOG, "Problem when get devices " +
"return empty list: ${ex.localizedMessage}"
)
arrayListOf()
}
感谢任何建议。
【问题讨论】:
标签: android kotlin collections mutable