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
Unitnamestovoid, 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