我是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