【发布时间】:2018-11-10 17:45:52
【问题描述】:
我正在尝试在 RepoInit 1 和 2 中启动 RoomAlarmRepository。
第一个说“类型不匹配”,不让我编译。也就是说,除非我像在 RepoInit2 中那样投射它,否则它会告诉我投射未被选中。
class RepoInit1(app: App) {
internal val repo: AlarmRepository<AlarmModel> = RoomAlarmRepository(app.database)
}
class RepoInit2(app: App) {
internal val repo: AlarmRepository<AlarmModel> = RoomAlarmRepository(app.database) as AlarmRepository<AlarmModel>
}
class RoomAlarmRepository(val database: AppDatabase) : AlarmRepository<RoomAlarmModel> {
}
class RoomAlarmModel : AlarmModel {
}
我目前正在使用第二个,因为它确实有效。我知道我在声明变量的地方遗漏了一些东西,但我不确定它是什么。
【问题讨论】:
标签: generics inheritance kotlin