Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Convert Kotlin Array to Java varargs

How can I convert my Kotlin Array to a varargs Java String[]?

val angularRoutings =      arrayOf<String>("/language", "/home")  // this doesn't work         web.ignoring().antMatchers(angularRoutings) 

How to pass an ArrayList to a varargs method parameter?

like image 282
robie2011 Avatar asked Aug 24 '17 07:08

robie2011


1 Answers

There’s the spread operator which is denoted by *.
The spread operator is placed in front of the array argument:

antMatchers(*angularRoutings) 

For further information, see the documentation:

When we call a vararg-function, we can pass arguments one-by-one, e.g. asList(1, 2, 3), or, if we already have an array and want to pass its contents to the function, we use the spread operator (prefix the array with *):

Please note that the spread operator is only defined for arrays, and cannot be used on a list directly. When dealing with a list, use e.g.toTypedArray() to transform it to an array:

 *list.toTypedArray() 
like image 78
s1m0nw1 Avatar answered Oct 10 '22 02:10

s1m0nw1