我有一个类,我希望能够在内部修改列表,但在外部我希望列表是不可变的;例如...
class Foo {
val items: List<String> get() = mutableItems
private val mutableItems: MutableList<String> = mutableListOf()
}
Run Code Online (Sandbox Code Playgroud)
有没有更好的方式来表达这一点?
编辑:下面最初描述的功能已演变为显式支持字段功能,目前在 K2 编译器中原型化。使用显式支持字段,语法将是:
val items: List<String>
field = mutableListOf()
Run Code Online (Sandbox Code Playgroud)
原答案:
不,但他们正在开发的东西可能会出现在 Kotlin 的未来版本中。建议的语法如下所示:
private val items: MutableList<String> = mutableListOf()
public get(): List<String>
Run Code Online (Sandbox Code Playgroud)
这是语言设计负责人在谈论 Kotlin 未来可能的功能时提出的。
说得有点迂腐,您公开的是一个只读列表,而不是一个不可变的列表。
| 归档时间: |
|
| 查看次数: |
1436 次 |
| 最近记录: |