当可变列表/映射/数组在 Kotlin 中定义为 val 类型时,如何更改其值



我是 Kotlin 的新手,我一直在阅读很多关于val如何是只读的和var是可变的。没关系,我明白了。但是令人困惑的是,当您创建一个可变的lsit/map/array并将其分配为val时,如何允许它是可变的?这不会改变val属性/变量/对象的只读方面吗?

class MyObject {
val a = mutableListOf<String>()
}

意味着a的字段是最终的,并且没有a的二传手。

因此你不能做

myObject.a = anotherList

它没有说明列表本身的可变性。由于列表是可变的,因此您可以执行

myObject.a.add("foo")

相关内容

最新更新