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

Rob*_*sch 9 kotlin

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

>>> a = [1,2,3]
>>> b = [*a,4,5,6]
>>> b
[1, 2, 3, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud)

我知道在Kotlin有可能如下:

>>> listOf(1, 2, 3, *listOf(4,5,6).toTypedArray())
[1, 2, 3, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud)

在Kotlin有一种更简单的方式.有任何想法吗?

zsm*_*b13 13

价差操作适用于数组,所以你可以这样做:

listOf(1, 2, 3, *(arrayOf(4, 5, 6)))
Run Code Online (Sandbox Code Playgroud)

  • 如果您只是添加到开头或结尾,您也可以只添加列表:`listOf(1,2,3) + listOf(4,5,6)` (7认同)
  • 没有为其他类型的集合实现扩展运算符的任何原因? (6认同)