将一种类型的列表转换为另一种类型

时间:2019-09-20 17:42:27

标签: kotlin transform

我有一个A类型的列表。我想将其转换为类型B的列表。

fun publish(listOne: List<A>) {
    val result: List<B> = 
} 

B看起来像这样。它具有一个构造函数,如果您传递A,它将复制变量并创建B的新实例。

class B(name: String ....) {

    constructor(a: A) {
       // copies the values of a then creates an instance.
    }
}

如何使用此构造函数创建类型为B的新列表?通常,我会遍历的整个列表,并为B的每个实例创建一个A的新实例。但是,在Kotlin中有没有一种简便的方法?

1 个答案:

答案 0 :(得分:3)

您可以映射给定列表:

val result: List<B> = listOne.map(::B)
// or
val result: List<B> = listOne.map { B(it) }