私はスカラ座に新しいですし、私は次の例外を参照してください。タイプキャスト地図[文字列、オブジェクト]マップする[文字列、文字列]
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