【发布时间】:2018-01-23 20:38:04
【问题描述】:
我正在尝试将带有子类参数的函数传递到地图中(没有成功):
trait GeneralRequestData
case class MyRequestData(some: String) extends GeneralRequestData
val myRequestDataToJsValue = (m: MyRequestData) => Json.obj("a" -> "b")
val transformers: scala.collection.mutable.Map[String, _ <: GeneralRequestData => JsValue] = new mutable.HashMap()
transformers.put("myRequestData", myRequestDataToJsValue) // Error:(76, 37) type mismatch; found : myRequestDataToJsValue.type (with underlying type MyRequestData => play.api.libs.json.JsObject) required: _$2 transformers.put("myRequestData", myRequestDataToJsValue)
但我得到了错误:
错误:(76, 37) 类型不匹配;找到:myRequestDataToJsValue.type (底层类型 MyRequestData => play.api.libs.json.JsObject) 必需:_$2 个transformers.put("myRequestData", myRequestDataToJsValue)
如何解决这个问题并使用子类参数传递该函数?
【问题讨论】:
标签: scala