我想把一个集合平面映射到一个集合。我有下面的代码不是用IntelliJ IDEA编译的。我不知道为什么:
listOf(HashSet<String>()).flatMapTo(HashSet<String>()) { it.iterator() as Iterator<String> }
最后在lambda上有一个非常令人困惑的错误消息,它说:
类型不匹配。必需:(kotlin.collections.HashSet<String>/*=
java.util.HashSet<字符串>
/)找到–Iterable<String>
(kotlin.collections.HashSet<字符串>/
=java.util.HashSet<字符串>*/)
–迭代器<字符串>
但它们完全一样?我不明白为什么那不起作用。
还有一条错误消息显示在
flatMapTo
函数并说:
类型推断失败:
内联fun<T,R,C:MutableCollection<in R>Iterable<T>.flatMapTo(
目的地:C,转换:(T)Iterable<R>):C不能应用
到
接收者:List<kotlin.collections.HashSet<String>/*=
java.util.HashSet<字符串>*/>参数:(
kotlin.collections.HashSet<String>/*=java.util.HashSet<String>*/,
(kotlin.collections.HashSet<String>/*=java.util.HashSet<String>*/)
迭代器<字符串>)
*希望我没有忘记引号里的特殊字符。必须用html实体替换<和一些**