在Android示例代码/代码实验室中,RoomDatabase中的Daos定义为

abstract fun genericDao(): GenericDao

当您需要访问dao的方法时,您可以调用
database.genericDao().genericFun()

为什么这样实施而不是这样
abstract val genericDao: GenericDao
database.genericDao.genericFun()

?第二种方式做错了吗?

Link to Codelab

最佳答案

好的,我检查了反编译字节码,唯一的区别是第一个实现被命名为

subscriptionStatusDao()

第二个是
getSubscriptionStatusDao()

因此,基本上没有任何区别。

10-08 17:19