Для интеграции Kotlin с существующим Java-проектом необходимо:
Добавить зависимости Kotlin в проект: В зависимости от системы сборки (Gradle, Maven), добавить плагин и стандартную библиотеку Kotlin.
Пример для Gradle (в build.gradle модуля):
gradle
Настроить каталоги с исходным кодом:
Создать каталог для Kotlin-файлов, например, src/main/kotlin, рядом с src/main/java. Система сборки должна быть настроена на поиск исходников в обоих каталогах.
Писать Kotlin-классы: Создавать новые классы на Kotlin. Они смогут без проблем вызывать существующий Java-код.
Вызывать Kotlin-код из Java:
Kotlin-классы и функции могут быть легко вызваны из Java. Компилятор Kotlin генерирует байткод, который полностью совместим с JVM. Функции верхнего уровня в Kotlin компилируются в статические методы Java-класса с постфиксом Kt (по умолчанию имя файла). @JvmName и @JvmOverloads можно использовать для настройки видимости и сигнатур в Java.
Пример (Kotlin):
kotlin
Пример (Java):
java
Конвертировать существующий Java-код: IDE (например, IntelliJ IDEA) предоставляют средства для автоматической конвертации Java-классов в Kotlin. Это полезно для постепенного перехода.
Обработать @Nullable и @NotNull:
Kotlin различает nullable и non-nullable типы. Аннотации @Nullable и @NotNull из Java (например, из JSR-305, Android, Guava) используются компилятором Kotlin для вывода информации о nullability. Код Kotlin, вызывающий Java, должен учитывать потенциальную nullability возвращаемых значений аннотированных методов.