Sobes.tech
Junior

Ako integrovať Kotlin kód s Java kódom?

sobes.tech AI

Odpoveď od AI

Integrácia Kotlinu s Java je bezproblémová vďaka kompatibilite JVM:

  1. Použitie Kotlinu z Java:

    • Triedy a funkcie Kotlinu sú dostupné v Java.
    • getter a setter vlastnosti Kotlinu sa automaticky generujú a sú dostupné z Java.
    • top-level functions Kotlinu sa kompilujú do statických metód triedy s názvom súboru + "Kt" (predvolené).
    • Anotácia @JvmStatic pre statické metódy v companion object.
    • @JvmOverloads na generovanie preťažených metód pre funkcie s predvolenými parametrami.
    // Java kód, ktorý volá Kotlin
    SomeKotlinClass kotlinObject = new SomeKotlinClass("hello");
    System.out.println(kotlinObject.getProperty()); // Prístup ku vlastnosti cez getter
    
    KotlinFileKt.someTopLevelFunction(); // Volanie top-level funkcie
    
  2. Použitie Java z Kotlinu:

    • Java triedy a rozhrania sú dostupné priamo.
    • Lambdy Kotlinu môžu byť použité namiesto SAM konverzie v Java 8+.
    • Nullability Java typov je spracovaná ako "platformové typy" v Kotlin, čo vyžaduje explicitnú kontrolu null.
    // Kotlin kód, ktorý volá Java
    import java.util.ArrayList
    
    fun useJavaClass() {
        val javaList = ArrayList<String>() // Použitie Java triedy
        javaList.add("item")
    
        val javaString: String? = javaMethodReturningNullable() // Platformový typ
        if (javaString != null) {
            println(javaString.length) // Vyžaduje sa kontrola null
        }
    }
    
  3. Interakcia v rámci projektu:

    • Kotlin a Java súbory môžu koexistovať v jednom projekte a navzájom sa volať.
    • IDE (napríklad IntelliJ IDEA) uľahčuje navigáciu a refaktorovanie medzi jazykmi.
  4. Nástroje na build:

    • Gradle a Maven podporujú zmiešané Kotlin/Java projekty.
  5. Spoločné používanie:

    • Môžete začať s Kotlinom a postupne prepisovať časti Java kódu.
    • Môžete začať s malým množstvom Kotlin kódu v existujúcom Java projekte.