我正在尝试在 object
声明中声明我的 android sqlite 迁移。每一个都扩展了接口(interface) Migration
,我想让每个人在初始化时都用 Migrator
对象注册自己,它是一个对象,也是一个单例。不幸的是(我很晚才意识到)kotlin 对象是延迟初始化的,所以我的迁移必须在某个地方使用来注册自己。
我可以接受必须使用反射或注释,但对于这是否是一个好主意或如何遵循该方向的惯例没有任何影响。
最佳答案
只需将对象名称写入您的主函数(或任何您想强制初始化的地方)即可:
//Main.kt
fun main() {
EagerObject
//...
}
//EagerObject.kt
object EagerObject {
//...
}
关于android - 渴望在 Kotlin 中初始化对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44092369/