2017-06-19 244 views
0

我想在Scala中使用Map with Object的参考==比较。在Java中我们有java.util.IdentityHashMap,所以我想用它。我这样做:斯卡拉Java转换

val channels: Map[String, Handler] = (new util.IdentityHashMap).asScala.toMap 

问题是docuemntation只说

Java集合转换为对应的Scala集合

所以目前还不清楚,如果它只是一个视图Java集合还是新创建的scala.collection

回答

4

如果你看一看针对特定types隐含的定义,你可以看到mapAsScalaMapConverter记录为:

添加一个asScala方法在Java地图隐含转换为斯卡拉可变地图。 返回的Scala Map由提供的Java Map支持,通过Scala接口使用它的任何副作用都将通过Java接口显示,反之亦然

如果Java地图以前从隐性或显性 呼叫asMap(scala.collection.mutable.Map),那么原来的斯卡拉 地图将被退回的获得。

大胆的印刷部分应回答你的问题。