如果我有一个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,这样做很危险。

07-24 09:36