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 (속성 ("테스트", 일부 ("테스트))) false를 반환을하기 때문에 getTypeTag (Property.value.get)는 어떤을 반환
내가 getClass 값에 문자열을 반환하기 때문에 그것이 작동 할 수 있는지 궁금 :.
scala> Property("test", Some("test")).value.get.getClass
res4: Class[_] = class java.lang.String
어떻게 옵션 [모든]의 실제 값 유형을 얻을 수 있습니다. ~
,
덕분에 이러한 유형의 정보를 추가 할 필요가
Type
및TypeTag
컴파일러에 의해 제공