Android 房间列表或可变列表 return 类型

Android Room List or mutable list return type

我只是想知道是否有关于房间查询 return 类型的约定? return 用 List 好还是 MutableList 好? 通过 .toList() 和 .toMutableList() 在 Kotlin 中转换非常容易。我只是想创建一个眼睛方便的代码,这就是我询问最佳实践的原因。

为了看清楚,我说的是这些查询:

@Query("SELECT * FROM measured_attribute WHERE deliveryStatus = :status LIMIT 1000")
fun getAttributeEntityListByStatus(status: DeliveryStatus): List<MeasuredAttributeEntity>

@Query("SELECT * FROM measured_attribute WHERE 
  name = :speific AND 
  fk_patient = :id AND 
  creationTime>:beginTime ORDER BY creationTime")

fun getSpecificAttributeEntity(
   speific: String, 
   id: Long, 
   beginTime: Long
   ): MutableList<MeasuredAttributeEntity>

Room 将为结果创建一个 java.util.ArrayList(您可以在构建项目后跳转到 Dao 的实现来检查这一点),因此在这种情况下您可以使用任一 return 类型,因为 ArrayList 实现了这两个接口。一般来说,Kotlin 中的最佳实践是使用只读 List,只要你能摆脱它,所以我建议使用它。