在Android示例代码/代码实验室中,RoomDatabase中的Daos定义为
abstract fun genericDao(): GenericDao
当您需要访问dao的方法时,您可以调用
database.genericDao().genericFun()
为什么这样实施而不是这样
abstract val genericDao: GenericDao
database.genericDao.genericFun()
?第二种方式做错了吗?
Link to Codelab
最佳答案
好的,我检查了反编译字节码,唯一的区别是第一个实现被命名为
subscriptionStatusDao()
第二个是
getSubscriptionStatusDao()
因此,基本上没有任何区别。