Превратить объект в другой, вручную - PullRequest
0 голосов
/ 04 марта 2019

У меня есть следующий метод:

fun get(browsePlayerContext: BrowsePlayerContext):  Single<List<Conference>>

, который возвращает Single> со следующей структурой для объекта 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.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

Вы можете использовать функцию 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) }
}
0 голосов
/ 04 марта 2019

Вы можете использовать функцию .map для преобразования объектов Conference в объекты EntityBrowse

val conferences: List<Conference> = getConferences()

val entities: List<Entities> = conferences.map {conference -> 
 EntityBrowse(conference.label, conference.uid, conference.action, conference.image) 
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...