如何避免在从两个不同的地图创建合并地图时得到Product With Serializable类型。

我正在尝试合并以下两张地图。

var mutMap1: Map[String, List[CaseClass1]] = Map.empty[String, List[CaseClass1]]

var mutMap2: Map[String, List[CaseClass2]] = Map.empty[String, List[CaseClass2]]
var mergedMap = (mutMap1.keySet ++ mutMap2.keySet) map { i => i -> (mutMap1.get(i).toList ::: mutMap2.get(i).toList) } toMap

mergedMap的类型是 Map[String,List[List[Product with Serializable]]]

But i am expecting this: Map[String,List[List[CaseClass3]]]

其中CaseClass3如下

case class CaseClass3(
                         caseClass1: List[CaseClass1],
                         caseClass1: List[CaseClass2]
                       )

谁能让我知道如何指定类型,以避免获得 Product with Serializable?

解决方案:

试试

val mergedMap: Map[String, CaseClass3] =
  (mutMap1.keySet ++ mutMap2.keySet).map { i => i -> CaseClass3(mutMap1.getOrElse(i, List()), mutMap2.getOrElse(i, List())) }.toMap

给TA打赏
共{{data.count}}人
人已打赏
未分类

在django中使用ariadne时的文件夹设计。

2022-10-28 19:26:22

未分类

Swagger:是否可以把一个操作参数做成常量只读?

2022-10-28 19:26:24

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索