我想编写一个转换为类型A的函数,其中A可以是例如List [Int],或者更复杂的参数化类型,如Map [Int,List [Int]].
def castToType[A](x: Any): A = {
// throws if A is not the right type
x.asInstanceOf[A]
}
Run Code Online (Sandbox Code Playgroud)
现在,由于类型擦除(我相信),即使类型不正确,代码也会愉快地工作.该错误仅在访问时显示,具有ClassCastException.
val x = List(1, 2, 3)
val y = castToType[List[String]](x)
y(0) --> throws java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
Run Code Online (Sandbox Code Playgroud)
有没有办法可以使用清单来使这项工作正常进行?谢谢!
scala ×1