我需要设置一个从String映射到对象的Scala Map(字符串,整数,浮点数)
我试过这段代码:
val m = Map[String, Object]("A"->10, "B"->20.5)
获取类型不匹配错误。
这个问题的解决方案是什么?
答案 0 :(得分:11)
严格来说,Scala Int
不是Object
的子类型,但它是AnyVal
的子类型:
val m = Map[String, AnyVal]("A"->10, "B"->20.5)
其中AnyVal
是所有Scala基元的常见超类型,我总是引用这个图像来说明类型层次结构:
http://lmazy.verrech.net/wp-content/uploads/2011/02/scala_type_hierarchy.png
如果您希望使用scala.Scala.Object
或java.lang.Object
的常用超类型使用Any
。
Here是图片的链接。