我有以下代码:
val sum = list.itens.sumBy { item ->
when (item.intValueI == item.intValueII) {
true -> 1
else -> 0
}
}
当我更新到 Kotlin 1.5
时,我收到了 deprecated
警告;我应该如何继续实现相同的功能?
我尝试了以下方法:
val result = list.itens.sumOf<ListItemClass> { item ->
val intValueI = item.value ?: 0
val intValueII = item.valueII ?: 0
when(item.intValueI == item.IntValueII){
true -> 1
else -> 0
}
}
val sum = list.items.count { it.intValueI == it.intValueII }
- Tenfour04as Int
来避免这种 hacky 的方式,尽管这会触发一个 No Cast Needed 警告。不确定为什么编译器在这种情况下无法分辨 1 和 0 都是 Ints 而不是 Longs。 - Tenfour04