如何将kotlin系列作为varagrs传递?

Che*_*rry 8 java arrays collections kotlin

乍一看,只需将集合转换为数组并将其传递给方法,但这不起作用:

val toTypedArray = Arrays.asList("a", "b").toTypedArray()
Paths.get("", toTypedArray) // <- compilation error here
Run Code Online (Sandbox Code Playgroud)

没有解决方法???

s1m*_*nw1 18

一个Array可以作为传递vararg参数通过预先*给它:

Paths.get("", *toTypedArray) 
Run Code Online (Sandbox Code Playgroud)

它被称为扩散运算符,正如我在此处的另一个问题中所描述的那样.

List可以将实例转换vararg为如下:

val listAsArr = listOf("a", "b").toTypedArray()
Paths.get("", * listAsArr) 
Run Code Online (Sandbox Code Playgroud)