【发布时间】:2023-03-31 04:10:01
【问题描述】:
我正在尝试将 MultiMap 特征与 HashMap 混合,如下所示:
val children:MultiMap[Integer, TreeNode] =
new HashMap[Integer, Set[TreeNode]] with MultiMap[Integer, TreeNode]
MultiMap 特征的定义是:
trait MultiMap[A, B] extends Map[A, Set[B]]
这意味着A 和B 类型的MultiMap 是Map 类型的A 和Set[B],或者在我看来是这样。但是,编译器抱怨:
C:\...\TestTreeDataModel.scala:87: error: illegal inheritance; template $anon inherits different type instances of trait Map: scala.collection.mutable.Map[Integer,scala.collection.mutable.Set[package.TreeNode]] and scala.collection.mutable.Map[Integer,Set[package.TreeNode]]
new HashMap[Integer, Set[TreeNode]] with MultiMap[Integer, TreeNode]
^ one error found
似乎泛型又让我绊倒了。
【问题讨论】: