Comment configurer l'intégration de Kotlin avec des projets Java?
sobes.tech IA
Réponse de l'IA
Pour intégrer Kotlin à un projet Java existant, il faut:
-
Ajouter les dépendances Kotlin au projet : Selon le système de build (Gradle, Maven), ajouter le plugin et la bibliothèque standard de Kotlin.
Exemple pour Gradle (dans
build.gradledu module) :plugins { id 'org.jetbrains.kotlin.jvm' version '<dernière version de Kotlin>' } sourceSets { main { kotlin { srcDirs 'src/main/kotlin' // Ajouter le répertoire pour le code Kotlin } } } dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:<dernière version de Kotlin>" // Autres dépendances } -
Configurer les répertoires de code source : Créer un répertoire pour les fichiers Kotlin, par exemple
src/main/kotlin, à côté desrc/main/java. Le système de build doit être configuré pour rechercher le code source dans les deux répertoires. -
Écrire des classes en Kotlin : Créer de nouvelles classes en Kotlin. Elles pourront appeler sans problème le code Java existant.
-
Appeler du code Kotlin depuis Java : Les classes et fonctions Kotlin peuvent être facilement appelées depuis Java. Le compilateur Kotlin génère du bytecode compatible JVM. Les fonctions de niveau supérieur en Kotlin sont compilées en méthodes statiques d'une classe Java avec le suffixe
Kt(par défaut, le nom du fichier). On peut utiliser@JvmNameet@JvmOverloadspour ajuster la visibilité et les signatures en Java.Exemple (Kotlin) :
// MyKotlinFile.kt package com.example fun greet(name: String) { println("Hello, $name!") } class MyKotlinClass { fun sayGoodbye() { println("Goodbye!") } }Exemple (Java) :
// MyJavaClass.java package com.example; public class MyJavaClass { public static void main(String[] args) { // Appel de la fonction de niveau supérieur depuis Kotlin MyKotlinFileKt.greet("World"); // Appel de la méthode de la classe Kotlin MyKotlinClass kotlinObject = new MyKotlinClass(); kotlinObject.sayGoodbye(); } } -
Convertir le code Java existant : Les IDEs (comme IntelliJ IDEA) offrent des outils pour convertir automatiquement des classes Java en Kotlin. Cela facilite une transition progressive.
-
Gérer
@Nullableet@NotNull: Kotlin distingue les types nullable et non nullable. Les annotations@Nullableet@NotNullde Java (par exemple, de JSR-305, Android, Guava) sont utilisées par le compilateur Kotlin pour déduire la nullabilité. Le code Kotlin appelant du Java doit prendre en compte la nullabilité potentielle des valeurs retournées par les méthodes annotées.