Kotlin MutableMap 有 putIfAbsent 方法,它是否扩展了 Java 的 Map 接口



我使用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) } }
}

所有MutableMaps也是java.util.Maps,但关系不是"延伸";那门课比那门课更神奇。Kotlin专门处理一些Java类型,如这里所述。MutableMap或多或少与java.util.Map相同。不仅每个MutableMap都是java.util.Map,而且相反,任何java.util.Map也是MutableMap

最新更新