Як я можу перетворити свій Kotlin Array
в Java-варагги String[]
?
val angularRoutings =
arrayOf<String>("/language", "/home")
// this doesn't work
web.ignoring().antMatchers(angularRoutings)
Як я можу перетворити свій Kotlin Array
в Java-варагги String[]
?
val angularRoutings =
arrayOf<String>("/language", "/home")
// this doesn't work
web.ignoring().antMatchers(angularRoutings)
Відповіді:
Ви повинні використовувати оператор спред, який виглядає приблизно так: *
Оператора розширення потрібно розмістити перед аргументом масиву:
antMatchers(*angularRoutings)
Для отримання додаткової інформації дивіться документацію :
Коли ми викликаємо
vararg
-функцію, ми можемо передавати аргументи один за одним, наприкладasList(1, 2, 3)
, або, якщо у нас вже є масив і хочемо передати його вміст функції, ми використовуємо оператор розповсюдження (префікс масиву з*
):
Зауважте, що оператор розповсюдження визначений лише для масивів і не може бути використаний у списку безпосередньо. При роботі зі списком використовуйте, наприклад, toTypedArray()
для перетворення його в масив:
*list.toTypedArray()
vararg
Чекає окремих елементів, і *array
це шлях Котлин сказати «розглядати цей масив як окремі елементи для цієї мети». У межах vararg
-function vararg
параметр все одно буде масивом. Для перетворення окремих елементів у масив ви можете використовувати arrayOf(...)
, але це вам не потрібно в цьому випадку.
vararg
?