【发布时间】:2021-05-27 21:43:01
【问题描述】:
我正在尝试找到更好的方法来链接 Kotlin 中的 filter 和 map 运算符。我想要做的是在转到map 运算符之前过滤空项目。
我能够链接它们,但编译器抱怨我的列表项的可空性。
class Person(val age : String?)
fun foo(age :String){
// require non-null age
}
示例用法为:
val list = mutableListOf(Person("3"), Person("2"))
list.filter{ it.age != null }.map{ foo(it.age) }
// The IDE wants me to add !!
那么为什么 Kotlin 不能推断可空性?向下传递给 map 的已过滤(所有非 null)项应已过滤以确保它们为非 null。
【问题讨论】:
标签: kotlin