#object #kotlin #transformation
#объект #kotlin #преобразование
Вопрос:
У меня есть следующий метод:
fun get(browsePlayerContext: BrowsePlayerContext): Single<List<Conference>>
Который возвращает один> со следующей структурой для объекта конференции:
data class Conference(
val label: String,
val uid: UID?,
val action: BrowsePlayerAction?,
val image: String
)
Но мне нужно преобразовать этот ответ в:
Single<List<EntityBrowse>>
Просмотр объекта имеет ту же структуру, что я имею в виду:
data class EntityBrowse(
val label: String,
val uid: UID?,
val action: BrowsePlayerAction?,
val image: String
)
Я выполняю преобразование вручную, но мне нужен более сложный способ, потому что я собираюсь получить объекты другого типа, и мне придется выполнить то же преобразование в EntityBrowse.
Есть идеи?
Комментарии:
1. Я не понимаю, что вы пытаетесь сделать — если вы конвертируете несколько объектов, вам, скорее всего, придется преобразовать его в общий формат данных, а не использовать для этого объекты.
Ответ №1:
Вы могли бы использовать функцию .map для преобразования объектов конференции в объекты EntityBrowse
val conferences: List<Conference> = getConferences()
val entities: List<Entities> = conferences.map {conference ->
EntityBrowse(conference.label, conference.uid, conference.action, conference.image)
}
Ответ №2:
Вы можете использовать map
функцию на Single
объекте для преобразования Single<List<Conference>>
в Single<List<EntityBrowse>>
:
val result: Single<List<EntityBrowse>> = get(context).map { conferences: List<Conference> ->
// transform List<Conference> to List<EntityBrowse> using `conferences` variable
conferences.map { EntityBrowse(it.label, it.uid, it.action, it.image) }
}