我是scala的新手,并且正在使用Maps。我做了一个Map,但我不确定如何检查返回类型并使用它。
我有以下代码给出以下编译错误“花样的预计类型不兼容:TestClass.type所需选项[识别TestClass]
如何匹配scala的值地图
object MapOptionUsage extends App {
val map : Map[Int, TestClass] = Map[Int, TestClass]()
var i = 0
for(i <- 0 to 5){
map.put(i, createObj(i))
}
var a = map.get(5)
a match {
case TestClass => {//dosomething
}
case None => {//dosomething
}
}
def createObj(i: Int): TestClass = {
return new TestClass(i)
}
}
case class TestClass(val id: Int)
它工作。但还有一个问题。我如何在变量Some(TestClass(x))中获取它,以便我可以使用该内部大小写块? – Sandeep
'一些(TestClass(x))'将匹配一个'Option [TestClass]','x'是一个包含'id'值的变量。 'case Some(x)'将匹配任何'Option []','x'是保存'TestClass'的变量(在这种情况下)。 'case x'将匹配任何值,'x'是包含该值的可变值。 – jwvh