我有下一个方法:
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执行相同的转换。
有什么想法吗?
答案 0 :(得分:0)
您可以使用.map函数将Conference对象转换为EntityBrowse对象
val conferences: List<Conference> = getConferences()
val entities: List<Entities> = conferences.map {conference ->
EntityBrowse(conference.label, conference.uid, conference.action, conference.image)
}
答案 1 :(得分:0)
您可以在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) }
}