【发布时间】:2015-11-04 20:07:21
【问题描述】:
我正在尝试使用 Scala 的反射库获取一些信息:
abstract class Model
class Person extends Model
class Car extends Model
abstract class AbstractDao[T <: Model]
object PersonDao extends AbstractDao[Person]
object CarDao extends AbstractDao[Car]
object DataLoader {
val daos = Seq(PersonDao, CarDao)
val modelToString = daos.map(genericImportEntities(_))
val modelToString2 = Seq(genericImportEntities(PersonDao), genericImportEntities(CarDao))
private def genericImportEntities[T <: Model](dao: AbstractDao[T])
(implicit
t2: TypeTag[T]
): String = {
t2.tpe.toString
}
}
如果我调用modelToString,输出是 列表(_1, _1)
对于modelToString2,它是 列表(人、车)
知道如何让 modelToString 工作吗?
【问题讨论】:
标签: scala generics reflection