我使用Kotlin的MutableMap
如下,IntelliJ Idea允许我调用putIfAbsent
方法在CCD_ 3。我在Kotlin的MutableMap
接口中看不到这种方法。我很困惑为什么我能够使用Java的Map接口中的方法?我是不是遗漏了什么?
private val taggedImageMap: MutableMap<String, ImageEx> = mutableMapOf()
init {
images.forEach { taggedImage -> taggedImage.tags.forEach { taggedImageMap.putIfAbsent(it, taggedImage.image) } }
}
所有MutableMap
s也是java.util.Map
s,但关系不是"延伸";那门课比那门课更神奇。Kotlin专门处理一些Java类型,如这里所述。MutableMap
或多或少与java.util.Map
相同。不仅每个MutableMap
都是java.util.Map
,而且相反,任何java.util.Map
也是MutableMap
。