Я пытаюсь использовать оператор переключения регистра в Scala, чтобы проверить, какой класс / тип представляет объект Java Class
.Я не могу передать фактический объект, но я могу получить класс, и мне нужно выполнить другую логику в зависимости от этого объекта класса.Например,
def foo(classObj: Class[_]): Any = {
classObj match {
case map: Map[String, String] => doMapThings()
case str: String => doStringThings()
}
}
Однако на самом деле это не работает, потому что оператор case смотрит на тип Class, который является Class, и никогда не будет Map или String.Как я могу получить тип / класс, который представляет classObj
, и сопоставить его вместо этого?