繁体   English   中英

如何获得泛型类型的实际类型?

[英]How to get the actual type of a generic type?

有一个泛型类:

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在编译时会删除泛型类型参数,因此除了传统反射提供的内容之外,您还需要在对象中添加一些其他证据。 看到:

如何在Scala上绕过类型擦除? 或者,为什么我不能获得我的集合的类型参数?

这些问题似乎意味着在某些情况下可能会有一些魔力:

在Scala泛型类'equals'方法中考虑类型参数...是唯一的方法吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM