由于不推荐使用 的>:>
方法ClassTag
并且不支持该操作TypeTag
,我如何检查运行时类型是否是另一个的超类型?
问问题
138 次
1 回答
2
scala> def checkType[S: ru.TypeTag, T: ru.TypeTag] = ru.typeOf[T] <:< ru.typeOf[S]
| | checkType: [S, T](implicit evidence$1: reflect.runtime.universe.TypeTag[S], implicit evidence$2: reflect.runtime.universe.TypeTag[T])Boolean
scala> checkType[Any, String]
res0: Boolean = true
scala> checkType[Int, String]
res1: Boolean = false
于 2013-09-28T04:19:25.073 回答