Sobes.tech
Junior — Middle

Aké sú rozdiely v systéme typov medzi Java a Kotlin?

sobes.tech AI

Odpoveď od AI

Java je jezik s statično tipizacijo, kjer so primitivni tipi (int, boolean itd.) in referenčni tipi jasno ločeni. V Kotlinu so tipi bolj enotni: vsi so objekti, vključno z analogi primitivnih tipov, zahvaljujoč sistemu ovijalcev, ki ga optimizira prevajalnik.

Glavne razlike:

  • Null varnost: V Kotlinu tipi po privzetku ne morejo vsebovati null, da se izogneš NullPointerException. Za nullable tipe se uporablja sintaksa z vprašajem, na primer String?.
  • Generični tipi: Kotlin podpira bolj prilagodljiv sistem generikov z varianco (in, out), v Javi pa je to izvedeno preko wildcard-ov.
  • Podatkovni tipi: Kotlin ima razširjene tipe, na primer Unit namesto void, in podpira razširitve tipov.

Primer null varnosti v Kotlinu:

var a: String = "Hello"
// a = null // Napaka pri prevajanju

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