【发布时间】:2020-06-22 23:22:22
【问题描述】:
我有一个内部维护一个可变列表的类,我想在这个列表上提供一个不可变的视图。目前我正在使用以下内容:
/**The list that actually stores which element is at which position*/
private val list: MutableList<T> = ArrayList()
/**Immutable view of [list] to the outside.*/
val listView: List<T> get() = list.toList()
第一个问题:这可以做得更容易
第二个问题:我如何测试 listView 实际上是不可变的。我想反思是必要的?
【问题讨论】:
-
这不是一成不变的观点。这是一个只读视图。重要区别。任何有权访问支持 MutableList 的人都可以更改内容。
标签: kotlin reflection collections immutability