在Scala映射的初始化中键入不匹配错误(字符串到对象)

pro*_*eek 1 types scala map

我需要设置一个Scala Map,它从String映射到一个对象(字符串,整数,浮点数)

我试过这段代码:

val m = Map[String, Object]("A"->10, "B"->20.5)
Run Code Online (Sandbox Code Playgroud)

得到类型不匹配错误.

在此输入图像描述

什么可以解决这个问题?

End*_*Neu 11

严格来说,Scala Int不是子类型Object,但它是以下子类型AnyVal:

val m = Map[String, AnyVal]("A"->10, "B"->20.5)
Run Code Online (Sandbox Code Playgroud)

AnyVal所有Scala基元的常见超类型在哪里,我总是引用这个图像来说明类型层次结构:

http://lmazy.verrech.net/wp-content/uploads/2011/02/scala_type_hierarchy.png

如果你想要一个共同的超类型scala.Scala.Objectjava.lang.Object使用Any.

是图像的链接.