Junior — Middle
Welche Unterschiede gibt es im Typsystem zwischen Java und Kotlin?
sobes.tech KI
Antwort von AI
Java ist eine Sprache mit statischer Typisierung, bei der primitive Typen (int, boolean usw.) und Referenztypen klar getrennt sind. In Kotlin sind die Typen stärker vereinheitlicht: Alle sind Objekte, einschließlich der Äquivalente der Primitive, dank eines von der Kompilierung optimierten Wrapper-Systems.
Hauptunterschiede:
- Null-Sicherheit: In Kotlin können Typen standardmäßig kein null enthalten, um NullPointerExceptions zu vermeiden. Für nullable Typen wird die Syntax mit einem Fragezeichen verwendet, z.B.
String?. - Generische Typen: Kotlin unterstützt ein flexibleres Generikumsystem mit Variance (in, out), in Java wird dies durch Wildcards realisiert.
- Datentypen: Kotlin hat erweiterte Typen, z.B.
Unitanstelle vonvoid, und unterstützt Typ-Erweiterungen.
Beispiel für Null-Sicherheit in Kotlin:
var a: String = "Hello"
// a = null // Kompilierungsfehler
var b: String? = "Hello"
b = null // Erlaubt