Junior — Middle
Wat zijn de verschillen in het typesysteem tussen Java en Kotlin?
sobes.tech AI
Antwoord van AI
Java is een taal met statische typisering, waarbij primitieve types (int, boolean, etc.) en referentietypes duidelijk gescheiden zijn. In Kotlin zijn de types meer gestandaardiseerd: ze zijn allemaal objecten, inclusief de analogen van primitieve types, dankzij een systeem van omhulsels dat door de compiler wordt geoptimaliseerd.
Belangrijkste verschillen:
- Null-veiligheid: In Kotlin kunnen types standaard geen null bevatten om NullPointerException te voorkomen. Voor nullable types wordt de syntax met een vraagteken gebruikt, bijvoorbeeld
String?. - Generieke types: Kotlin ondersteunt een flexibeler generiek systeem met variance (in, out), in Java wordt dit gerealiseerd via wildcards.
- Gegevens types: Kotlin heeft uitgebreide types, bijvoorbeeld
Unitin plaats vanvoid, en ondersteunt type-extensies.
Voorbeeld van null-veiligheid in Kotlin:
var a: String = "Hello"
// a = null // Fout bij compilatie
var b: String? = "Hello"
b = null // Toegestaan