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

时间:2017-09-26 05:37:03

标签: java arrays collections kotlin

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

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

没有解决方法???

1 个答案:

答案 0 :(得分:17)

Array可以作为vararg参数传递,方法是将*添加到其中:

Paths.get("", *toTypedArray) 

它被称为传播运算符,正如我在另一个问题here中所描述的那样。

List的实例可以转换为vararg,如下所示:

val listAsArr = listOf("a", "b").toTypedArray()
Paths.get("", * listAsArr)