我有一个包含字符串和地图混合的列表listOfIds
。下面的代码尝试此列表。映射到匹配的字符串和不匹配的字符串。
val (matched, unmatched) =
listOfIds.foldLeft(List.empty[Map[String, String]], List.empty[String]) {
case ((matched, unmatched), p) => p match {
case m:Map[String, String] => (m :: matched, unmatched)
case s:String => (matched, s :: unmatched)
}
}
问题是我遇到了类型擦除问题。我发现我可以使用占位符来填充此类型m:Map[_, _]
,但这会在以后尝试提取地图值时导致问题。
我不熟悉类型标签,但是快速的研究表明这可能是一个解决方案...在这种情况下我会理解如何解决类型擦除问题。
谢谢!