我是Kotlin的新手,我已经读了很多关于val
是只读的而var
是可变的。我知道了。但是,令人困惑的是,当您创建可变的lsit / map / array并将其分配为val
时,如何允许它可变?这不会更改val
属性/变量/对象的只读方面吗?
class MyObject {
val a = mutableListOf<String>()
}
表示a
的字段是最终字段,并且a
没有设置器。
您因此无法这样做
myObject.a = anotherList
它没有说列表本身的可变性。由于列表是可变的,因此可以执行
myObject.a.add("foo")