我是 Kotlin 的新手,我一直在阅读很多关于val
如何是只读的和var
是可变的。没关系,我明白了。但是令人困惑的是,当您创建一个可变的lsit/map/array并将其分配为val
时,如何允许它是可变的?这不会改变val
属性/变量/对象的只读方面吗?
class MyObject {
val a = mutableListOf<String>()
}
意味着a
的字段是最终的,并且没有a
的二传手。
因此你不能做
myObject.a = anotherList
它没有说明列表本身的可变性。由于列表是可变的,因此您可以执行
myObject.a.add("foo")