How to pass a kotlin collection as varagrs?

Cherry :

At first glance it is needed just convert collection to array and pass it to method but this does not work:

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

No workarounds???

s1m0nw1 :

An Array can be passed as anvararg argument by prepending * to it:

Paths.get("", *toTypedArray) 

It’s called spread operator, as I already described in another question here.

An instance of List can be converted to varargas follows:

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

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=443071&siteId=1