我花了太长时间试图找出如何将一些 Migration
实例传递给Dagger2模块的 Room
数据库构建器 .
Room数据库构建器需要上下文和数据库名称 .
Room.databaseBuilder(context, Database::class.java, dbName)
.build()
可以使用 addMigrations
方法将迁移添加到构建器,该方法需要 vararg migrations: Migration!
一种选择是创建构建器 .
val builder = Room.databaseBuilder(context, Database::class.java, dbName)
然后通过迁移进行每次迁移
migrations.forEach { builder.addMigrations(it) }
但是这很麻烦且不必要,应该使用扩展运算符 .
我设法错过了这个,因为我找到的扩展运算符的唯一文档是文档中的单个句子 .
当我们调用vararg函数时,我们可以逐个传递参数,例如: asList(1,2,3),或者,如果我们已经有一个数组并希望将其内容传递给函数,我们使用spread运算符(数组前缀为*)
1 回答
为了将数组传递给函数 . 该阵列只需要以星号
*
作为前缀 .一般来说,如果我们有
我们可以使用
arrayOf
或Array
调用foo
.