Sobes.tech
Junior — Middle

Milyen különbségek vannak a típus rendszerben Java és Kotlin között?

sobes.tech MI

Válasz az MI-től

A Java egy statikus típusú nyelv, ahol a primitív típusok (int, boolean stb.) és a referencia típusok egyértelműen elkülönülnek. Kotlinban a típusok egységesebbek: mind objektumok, beleértve a primitív típusok analógjait is, köszönhetően egy olyan rendszernek, amelyet a fordító optimalizál.

Fő különbségek:

  • Null-biztonság: Kotlinban alapértelmezés szerint a típusok nem tartalmazhatnak null értéket, hogy elkerüljük a NullPointerException-t. A nullable típusokat kérdőjellel jelöljük, például String?.
  • Generikus típusok: Kotlin támogat egy rugalmasabb generikus rendszert a varianciával (in, out), amit Java wildcards segítségével valósít meg.
  • Adattípusok: Kotlin kiterjesztett típusokat kínál, például Unit a void helyett, és támogatja a típusbővítéseket.

Null-biztonság példája Kotlinban:

var a: String = "Hello"
// a = null // Fordítási hiba

var b: String? = "Hello"
b = null // Megengedett