最佳做法访问kotlin的财产

我来自Java背景,第一次在Kotlin工作。 对于大多数人来说,这将是一个基本的问题,但它可能会帮助开始在Kotlin上工作的人,来自Java背景

所以,让我说我有listadapter,我想设置在该项目的列表。 我现在有两个选择。

1)创建一个存储项目列表的私有属性,然后创建一个setter,它设置列表并调用notifydatasetChanged()

2)创建一个属性设置属性function,然后访问像instance.property

在上述两个选项中,Kotlin会是更好的选择。

Kotlin的一个地产不是别的,而是一个价值的吸气者和二传手。 如果你不想提供一个getter,你必须使用一个fun setData(data: List)

否则,也可以处理与财产的一切

 var data = listOf() set(data: List) { field = data notifydatasetChanged() } 

但最终使用DiffUtil的实现DiffUtil