我是新来斯卡拉,我看到以下异常:强制类型转换地图[字符串,对象]到地图[字符串,字符串]
value mapValues is not a member of java.util.Map[String,Object]
[error] headers = Option(data).map(_.mapValues(_.toString)).getOrElse(Map()),
[error] ^
下面是摘录:
import scala.collection.JavaConverters._
def toMessage(properties: AMQP.BasicProperties, body: Array[Byte]): Message = {
Message (
headers = Option(data).map(_.mapValues(_.toString)).getOrElse(Map())) <<----- THIS LINE HAS PROBLEMS!!!
}
我知道headers
的数据类型是Map[String, String]
而data
的数据类型是Map<String, Object>
。我如何输入这个来解决这个问题?
UPDATE
制造阿尔瓦罗和Tanjin建议的修改。现在我得到这个异常:
现在我得到:
[error] found : Map[String,String] (in scala.collection)
[error] required: Map[String,String] (in scala.collection.immutable)
[error] headers = Option(properties.getHeaders).map(_.asScala.mapValues(_.toString)).getOrElse(Map())
[error] ^
'getOrElse(collection.immutable.Map())' – jwvh