У меня есть карта с методом получения.Ключ всегда является строкой, значение - любое.Я хочу разрешить вызывающей стороне использовать метод, подобный следующему
get[Int](k: String)
get[Boolean](k:String)
, и внутри этого метода преобразовать строку в определенный тип, указанный пользователем.Мне пришло в голову немедленное решение:
def get[T](k: String): T = k.asInstanceOf[T]
, который не работает.Затем я попытался с
def cast[T](x: String, classTag: ClassTag[T]): T = classTag match {
case Int => x.toInt
case Boolean => x.toBoolean
...
}
, который не компилируется.Я не уверен, что это даже возможно.Любая идея или мне нужно написать все методы, которые я хочу?Например
def getInt(k: String): Int
def getBoolean(k: String): Boolean
...