如果我有一个immutableMap: Map<String, Int>
并想将其转换为mutableMap: MutableMap<String, Int>
,那么这样做的最佳方法是什么?似乎没有任何方便的方法。
最佳答案
更新: Kotlin 1.1 stdlib具有.toMutableMap()
函数。应该使用它而不是创建自己的。
-----------------------下面的旧答案------------------------ ------
以下扩展功能通过将Map
复制到MutableMap
来工作。
fun <K, V> Map<K, V>.toMutableMap(): MutableMap<K, V> {
return HashMap(this)
}
其他一些建议建议先检查 map 是否为
MutableMap
,然后将其转换为Map
。应该不惜一切代价避免这种情况,因为这是一种不好的做法。它在Kotlin中被向下转换为Map
的事实表明,不希望更改此ojit_code,这样做很危险。