【发布时间】:2017-02-18 08:17:36
【问题描述】:
我正在尝试考虑一个函数,该函数允许通过应用单个函数的类型推断将Map<String, Any?> 对象视为Map<String,Any>。
我对 Kotlin 中的转换函数非常陌生,并尝试了地图上的各种 filter 和 filterValues filterNot,如下所示:
val input = mapOf(Pair("first",null))
val filtered: Map<String,Any> = input.filter { it.value!=null }
其中任何一个都无法编译
input.filterValues { it!=null }
input.filterNot { it.value==null }
input.filterNot { it.value is Nothing }
我似乎能得到的最接近的是应用多个步骤或出现 Unchecked cast 警告。我原以为将值过滤为!=null 就足够了。我唯一的另一个想法是它是由于泛型?
【问题讨论】:
标签: collections kotlin