2017-06-19 291 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),那麼原來的斯卡拉 地圖將被退回的獲得。

大膽的印刷部分應回答你的問題。