Как создать массив Java в Kotlin для @PropertySource?

Я пытаюсь настроить @PropertySource для моего приложения на основе Spring.

В Java я мог бы сделать что-то вроде этого:

@PropertySource(value = {"application.properties","other.properties" }) 

Я попробовал arrayOf в Kotlin, но в итоге arrayOf несоответствие типа:

 @PropertySource(value = arrayOf("application.properties", "other.properties")) 

Каков правильный путь?

Параметр аннотации value обрабатывается особым образом в Kotlin (после его специальной обработки в Java), и если он имеет тип массива, Kotlin преобразует его в vararg . Поэтому правильный синтаксис здесь просто:

 @PropertySource("application.properties", "other.properties") 

Если вы хотите явно указать имя параметра, используйте оператор с расширением, чтобы развернуть массив в varargs:

 @PropertySource(value = *arrayOf("application.properties", "other.properties")) 

Для любого другого параметра аннотации массива вы должны просто просто использовать arrayOf() .

Intereting Posts
Для функции Kotlin, используемой в качестве выражения, существует ли краткий способ работы и возврата значения? Kotlin – Значение преобразования при инициализации Как сделать символ Null в Kotlin Kotlin неразрешимая ссылка: добавить после преобразования из Java-кода Json для классов данных kotlin Невозможно ли установить ожидания на ленивом свойстве? Почему интерфейс, написанный в Kotlin, исчезает после перезагрузки в Android Studio? kotlin работает с ресурсами (массив и параметр функции) Как связать кнопку с веб-сайтом в студии android с помощью kotlin Поплавковый примитив магически становится 0 при использовании для запуска PointF или RectF в Kotlin Android Firebase Firestore toObject () с Котлином Идиоматический способ регистрации в Котлине Создайте карту списков из Spring config в Kotlin java.lang.ClassNotFoundException: com.intellij.junit5.JUnit5IdeaTestRunner, используя spek в kotlin Кинжал пропускает генерацию Factory для модуля Google Services при использовании kapt