我有一个类,我希望能够在其中修改列表,但在外部我希望列表是不可变的;例如……
class Foo {
val items: List<String> get() = mutableItems
private val mutableItems: MutableList<String> = mutableListOf()
}
有更好的表达方式吗?
最佳答案
没有,但他们正在开发一些可能会出现在 Kotlin future 版本中的东西。建议的语法如下所示:
private val items: MutableList<String> = mutableListOf()
public get(): List<String>
This was presented by the language design lead in a talk about possible future features of Kotlin.
有点迂腐,你公开了一个只读的列表,而不是一个不可变的列表。
关于Kotlin - 一种将可变列表公开为不可变列表的优雅方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66923228/