是否可以在Kotlin的列表中传播一个列表?

在Kotlin中可以进行类似于在Python中完成的参数解包吗? 例如

>>> a = [1,2,3] >>> b = [*a,4,5,6] >>> b [1, 2, 3, 4, 5, 6] 

我知道Kotlin可能如下:

 >>> listOf(1, 2, 3, *listOf(4,5,6).toTypedArray()) [1, 2, 3, 4, 5, 6] 

感觉Kotlin有一个更简单的方法。 有任何想法吗?

扩展运算符对数组起作用,所以你可以这样做:

 listOf(1, 2, 3, *(arrayOf(4, 5, 6))) 

python代码可以用下面的Kotlin代码表示。 正如zsmb13所回答的那样,运营商*在Kotlin中也是可用的:

 fun main(args: Array) { val a = arrayOf(1, 2, 3) val b = arrayOf(*a, 4, 5, 6) println(b.contentToString()) } 

文档告诉我们:

当我们调用可变参数函数的时候,我们可以逐个传递参数,比如asList(1,2,3),或者如果我们已经有一个数组并且想把它的内容传给函数,我们使用spread操作符(以*为前缀)

也涉及到这个问题 。