有一个具有泛型类型的类:
class Action[T]
创建它的一些实例,放入列表中:
val list = List(new Action[String], new Action[Int])
迭代一下,如何获取实例的实际类型?
list foreach { action =>
// how do I know the action is for a String or an Int?
}
最佳答案
Scala 在编译时会删除泛型类型参数,因此除了传统反射提供的内容之外,您还需要在对象中提供一些其他证据。请参阅:
How do I get around type erasure on Scala? Or, why can't I get the type parameter of my collections?
这个问题似乎暗示在某些情况下可能有一些魔法可以应用:
关于generics - 如何获取泛型类型的实际类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5400394/