我有一个地图扩展方法
def getAs[T : Manifest](key: String): Option[T] =
m.get(key) collect {
case v if manifest[T].erasure.isAssignableFrom(v.getClass) => v.asInstanceOf[T]
}
如果它是可分配的,它会获取键值并将其转换为所需的类型。现在,如果存储项目是 java.lang.Boolean,并且类型参数是 scala.Boolean,那么这不起作用。我想这对于 Int、Long 等也是一样的。
有什么明显的方法可以解决这个问题吗?