Sobes.tech
Junior

Comment peut-on intégrer du code Kotlin avec du code Java?

sobes.tech IA

Réponse de l'IA

L’intégration de Kotlin avec Java est transparente grâce à la compatibilité JVM:

  1. Utilisation de Kotlin depuis Java :

    • Les classes et fonctions Kotlin sont accessibles en Java.
    • Les propriétés getter et setter de Kotlin sont générées automatiquement et accessibles depuis Java.
    • Les fonctions de niveau supérieur de Kotlin sont compilées en méthodes statiques d’une classe portant le nom du fichier + "Kt" (par défaut).
    • L’annotation @JvmStatic pour les méthodes statiques dans companion object.
    • @JvmOverloads pour générer des méthodes surchargées pour les fonctions avec paramètres par défaut.
    // Code Java appelant Kotlin
    SomeKotlinClass kotlinObject = new SomeKotlinClass("hello");
    System.out.println(kotlinObject.getProperty()); // Accès à la propriété via getter
    
    KotlinFileKt.someTopLevelFunction(); // Appel d’une fonction de niveau supérieur
    
  2. Utilisation de Java depuis Kotlin :

    • Les classes et interfaces Java sont directement accessibles.
    • Les lambdas Kotlin peuvent remplacer la conversion SAM en Java 8+.
    • La nullabilité des types Java est traitée comme des "types de plateforme" en Kotlin, nécessitant une vérification explicite de null.
    // Code Kotlin appelant Java
    import java.util.ArrayList
    
    fun useJavaClass() {
        val javaList = ArrayList<String>() // Utilisation d’une classe Java
        javaList.add("item")
    
        val javaString: String? = javaMethodReturningNullable() // Type de plateforme
        if (javaString != null) {
            println(javaString.length) // Vérification de null requise
        }
    }
    
  3. Interaction dans un même projet :

    • Les fichiers Kotlin et Java peuvent coexister dans un même projet et s’appeler mutuellement.
    • L’IDE (par exemple, IntelliJ IDEA) facilite la navigation et le refactoring entre les langages.
  4. Outils de build :

    • Gradle et Maven supportent des projets mixtes Kotlin/Java.
  5. Utilisation conjointe :

    • Il est possible de commencer avec Kotlin, en réécrivant progressivement des parties du code Java.
    • Il est possible de commencer avec une petite quantité de code Kotlin dans un projet Java existant.