我有一个值的List[Any]
和一个对应的ClassManifest[_]
的列表,用于存储值的原始类型。我如何将列表中的某些值转换回其原始类型?def cast[T](x: Any, mf: ClassManifest[T]): T = x.asInstanceOf[T]
不起作用。
谢谢您的回答。
最佳答案
这永远不可能,因为cast
的返回类型将始终被视为T
所限制的最高 public super class 型。不可能在编译时使其更加具体。
如果您试图建立一个完全不同类型的强类型集合,那么您真正想要的是一个HList:
http://jnordenberg.blogspot.com/2008/09/hlist-in-scala-revisited-or-scala.html