2
У меня есть следующий код:Получения фактического типа опции [Любые]
case class Property(name: String, value: Option[Any])
class PropertyType[+T <: Any: ru.TypeTag] {
def isValidType(property: Property): Boolean = {
property.value match {
case None => true
case Some(value) => ru.typeOf[T] == getTypeTag(value)
}
}
private def getTypeTag[TT: ru.TypeTag](obj: TT) = ru.typeTag[TT]
}
case object StringPropertyType extends PropertyType[String]
Конечно, StringPropertyType.isValidType (свойство ("тест", Некоторые из них ("тест))) возвращает ложь, потому что getTypeTag (Property.value.get) возвращает Любой
Интересно, как я мог бы сделать это работает, потому что GetClass на значение возвращает строку:.
scala> Property("test", Some("test")).value.get.getClass
res4: Class[_] = class java.lang.String
Как я могу получить фактический тип значения опции [Любой]. получить?
Спасибо, что работали , – abatyuk