我有一些这样的代码:
class ReflectiveJsonFormat[T:TypeTag] extends JsonFormat[T] {
def write(x: T) : JsValue = {
val t = typeOf[T]
val getters = t.declarations.filter { s => s.isMethod && s.asMethod.isGetter }
val mirror = runtimeMirror(this.getClass.getClassLoader)
val instanceMiror = mirror.reflect(x)
}
}
最后一行失败:
我以为
TypeTag
比ClassTag
更多信息?我可以从ClassTag
获取TypeTag
吗?如果不是,是否有某种语法可以说T
有两个上下文边界-TypeTag
和ClassTag
?或者,您将如何解决此代码? 最佳答案
如果您需要这样做,那么scala确实支持多个上下文边界:
class ReflectiveJsonFormat[T:TypeTag:ClassTag]
关于scala - 如何从TypeTag或同时获取ClassTag的ClassTag?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18729321/