私はスカラを初めて利用しており、マップで作業していました。私はマップを取得しますが、戻り値の型をチェックして使用する方法がわかりません。
私はコンパイルエラー「パターン・タイプが期待されるタイプと互換性がありません、以下与え次のコードています。TestClass.type必要なオプション[TestClassを]を
スカラからの値の照合方法
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
'case Some(TestClass(x))'は 'Option [TestClass]'と一致し、 'x'は' id'値を含む変数です。 'case Some(x)'は 'Option []'にマッチし、 'x'は' TestClass'(この場合)を保持する変数です。 'case x'は任意の値と一致し、' x'はその値を含むvarableです。 – jwvh