Kotlin – 排序地图集合

我有一个function

fun init(properties: Collection<Map>?) { properties?. filter { it.isNotEmpty() }?. } 

1)我需要过滤空值。 2)我只需要地图所有的键和值作为字符串。 3)对于我想要的每个剩余的地图:for each keys in each map get a value。

我怎么能这样做。 对不起,我是Kotlin的新人。

您可以使用.all { ... }来检查所有.keys.values是否是字符串:

 properties ?.filter { it.isNotEmpty() && it.keys.all { key -> key is String } && it.values.all { value -> value is String } } ?.forEach { /* do some stuff with it */ } 

请注意,您仍然需要一个未经检查的强制转换,以在Map的过滤映射上进行操作,因为编译器无法从键和值检查中推断出types。