我想在Scala中使用Map with Object的参考==
比较。在Java中我们有java.util.IdentityHashMap
所以我想使用它。我这样做了:
val channels: Map[String, Handler] = (new util.IdentityHashMap).asScala.toMap
问题是docuemntation只说
将Java集合转换为相应的Scala集合
所以它不清楚它只是Java集合的视图还是新创建的scala.collection
?
答案 0 :(得分:4)
如果您查看特定types的隐式定义,可以看到mapAsScalaMapConverter
记录为:
添加一个asScala方法,隐式将Java Map转换为Scala可变Map。 返回的Scala Map由提供的Java Map支持,通过Scala接口使用它的任何副作用都将通过Java界面显示,反之亦然。
如果以前从隐式或显式获取Java Map 调用asMap(scala.collection.mutable.Map)然后调用原始的Scala 地图将被退回。
粗体印刷部分应该回答你的问题。