在Kotlin MutableMap和Map之间有什么不同?
我不明白在Kotlin MutableMap和Map之间有什么不同?
以下代码来自https://github.com/antoniolg/Kotlin-for-Android-Developers/blob/master/app/src/main/java/com/antonioleiva/weatherapp/data/db/DbClasses上的示例。 KT
我不知道为什么val map被设计成MutableMap,我认为它应该是Map,因为它是数据库表的字段。
你能告诉我为什么var map被设计成MutableMap吗?
class CityForecast(val map: MutableMap<String, Any?>, val dailyForecast: List<DayForecast>) { var _id: Long by map var city: String by map var country: String by map constructor(id: Long, city: String, country: String, dailyForecast: List<DayForecast>) : this(HashMap(), dailyForecast) { this._id = id this.city = city this.country = country } }
Map
是只读的。 MutableMap
是可变的。 因为var
可以写成一个新的值,所以它必须是一个可变的变量作为委托属性。 如果你只在val
上使用委托属性,你可以使用Map
来代替。
- 如何从kPalin中的KParameter获取类的引用?
- 为什么我在Kotlin上运行这个特定的Cucumber步骤时发生ArrayIndexOutOfBoundsException?
- Kotlin注释处理器+ AutoService
- 应该把Kotlin文件放在Android的一个单独的源码目录中吗?
- 我们如何从Kotlin的MutableList中移除元素
- 没有AsyncTask,在后台运行线程并更新UI线程
- Android – Tab#3正在清除Tab#1中的列表视图。
- Android室错误:types转换器无法识别列表的枚举
- 如何在RxJava 2和Kotlin中将null传递给可空类型的Observable