Sobes.tech
Junior

Jak lze integrovat kód v Kotlinu s kódem v Javě?

sobes.tech AI

Odpověď od AI

Integrace Kotlinu s Javou je plynulá díky kompatibilitě JVM:

  1. Použití Kotlinu z Javy:

    • Třídy a funkce Kotlin jsou dostupné v Javě.
    • Vlastnosti getter a setter Kotlinu jsou automaticky generovány a dostupné z Javy.
    • top-level functions Kotlinu jsou kompilovány do statických metod třídy s názvem souboru + "Kt" (výchozí).
    • Anotace @JvmStatic pro statické metody v companion object.
    • @JvmOverloads pro generování přetížených metod pro funkce s výchozími parametry.
    // Java kód volající Kotlin
    SomeKotlinClass kotlinObject = new SomeKotlinClass("hello");
    System.out.println(kotlinObject.getProperty()); // Přístup k vlastnosti přes getter
    
    KotlinFileKt.someTopLevelFunction(); // Volání top-level funkce
    
  2. Použití Javy z Kotlinu:

    • Třídy a rozhraní Javy jsou dostupné přímo.
    • Lambda Kotlinu může být použita místo SAM konverze v Java 8+.
    • Nullability Java typů je v Kotlinu zpracována jako "platformové typy", což vyžaduje explicitní kontrolu na null.
    // Kotlin kód volající Javu
    import java.util.ArrayList
    
    fun useJavaClass() {
        val javaList = ArrayList<String>() // Použití Java třídy
        javaList.add("item")
    
        val javaString: String? = javaMethodReturningNullable() // Platformový typ
        if (javaString != null) {
            println(javaString.length) // Vyžaduje se kontrola null
        }
    }
    
  3. Interakce v rámci jednoho projektu:

    • Kotlin a Java soubory mohou být v jednom projektu a volat se navzájem.
    • IDE (například IntelliJ IDEA) usnadňuje navigaci a refaktoring mezi jazyky.
  4. Nástroje pro sestavení:

    • Gradle a Maven podporují smíšené Kotlin/Java projekty.
  5. Společné používání:

    • Můžete začít s Kotlinem a postupně přepisovat části Java kódu.
    • Můžete začít s malým množstvím Kotlin kódu v existujícím Java projektu.