12

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???

Jonah Starling
  • 539
  • 6
  • 20
Cherry
  • 31,309
  • 66
  • 224
  • 364

1 Answers1

23

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 answer here.

An instance of List can be converted to vararg as follows:

val listAsArr = 
    listOf("a", "b").toTypedArray()
Paths.get("", *listAsArr) 
s1m0nw1
  • 76,759
  • 17
  • 167
  • 196