我是新來斯卡拉,我看到以下異常:強制類型轉換地圖[字符串,對象]到地圖[字符串,字符串]
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