2
下面的示例中解决编译错误的最佳方法是什么?假设'm'必须是GenMap类型,并且我无法控制myFun的参数。不可变集合的类型别名
import scala.collection.GenMap
object Test {
def myFun(m: Map[Int, String]) = m
val m: GenMap[Int, String] = Map(1 -> "One", 2 -> "two")
//Build error here on m.seq
// Found scala.collection.Map[Int, String]
// Required scala.collection.immutable.Map[Int, String]
val result = myFun(m.seq)
}
编辑:
我本来应该更清晰。在我的实际使用案例中,我无法控制myFun,所以我必须将它传递给Map。 'm'也来自另一个scala组件作为GenMap。我需要一个转换到另一个,但似乎collection.Map和collection.immutable.Map
谢谢。你能提供任何洞察,为什么最初不工作? – Pengin
当然。查看更新。你几乎在你的问题上有解释。 –
我以前不欣赏这个'父母'的生意。以前只是假定它是相同的。显然不是。 – Pengin