gpt4 book ai didi

scala - 在 Scala 中使用 ClassManifest 从 Any 中转换值

转载 作者:行者123 更新时间:2023-12-02 00:36:37 25 4
gpt4 key购买 nike

我有一个 List[Any] 值和一个相应的 ClassManifest[_] 列表,存储值的原始类型。我如何将列表中的某些值转换回其原始类型?

def cast[T](x: Any, mf: ClassManifest[T]): T = x.asInstanceOf[T] 不起作用。

谢谢您的回答。

最佳答案

这不可能行得通,因为 cast 的返回类型将始终被视为 T 所限制的最高通用父类(super class)型。无法在编译时使其更具体。

如果您正在尝试构建不同类型的强类型集合,那么您真正需要的是一个 HList:

http://jnordenberg.blogspot.com/2008/09/hlist-in-scala-revisited-or-scala.html

关于scala - 在 Scala 中使用 ClassManifest 从 Any 中转换值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4375623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com