Я пытаюсь инициировать RoomAlarmRepository
внутри RepoInit 1 & 2.
Первый говорит «Несоответствие типов», и не позволяет мне компилировать. То есть, если я не разыгрываю его, как в 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 {
}
Я сейчас использую второй, так как он на самом деле работает. Я знаю, что упускаю что-то, где я объявляю переменную, но я не уверен, что это такое.