Можем ли мы использовать соответствие для проверки типа класса

Я новичок в scala и сейчас изучаю ключевое слово match .

Я хочу знать, можем ли мы использовать ключевое слово match для проверки типа класса. Мой код:

object Main {
    def main(args: Array[String]) {
        val x = "AA"
        checkType(x)
    }

    def checkType(cls: AnyRef) {
        cls match {
            case String => println("is a String")
            case Date => println("is a Date")
            case _ => println("others")
        }
    }
}

Код не может быть скомпилирован, значит, это невозможно? Что такое scala-способ проверки типа класса? Это:

if(cls.isInstanceOf[String]) { ... }
else if(cls.isInstanceOf[Date]) { ... }
else { ... }

Верно?

50
задан Simón 24 May 2013 в 07:42
поделиться