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???
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???
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 vararg
as follows:
val listAsArr = listOf("a", "b").toTypedArray()
Paths.get("", * listAsArr)