繁体   English   中英

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

[英]How can you change the value of a mutable list/map/array when its defined as a val type in Kotlin

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

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

意味着a的字段是最终的,并且a没有设置器。

你因此不能做

myObject.a = anotherList

它没有说明列表本身的可变性。 由于列表是可变的,你可以这样做

myObject.a.add("foo")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM