Junior — Middle
Quelles sont les différences dans le système de types entre Java et Kotlin?
sobes.tech IA
Réponse de l'IA
Java est un langage à typage statique, où les types primitifs (int, boolean, etc.) et les types de référence sont clairement séparés. En Kotlin, les types sont plus unifiés : tous sont des objets, y compris les analogues des primitifs, grâce à un système d'enveloppes optimisé par le compilateur.
Principales différences :
- Sécurité nulle : En Kotlin, les types par défaut ne peuvent pas contenir null pour éviter NullPointerException. Pour les types nullable, on utilise la syntaxe avec un point d'interrogation, par exemple,
String?. - Types génériques : Kotlin supporte un système de génériques plus flexible avec la variance (in, out), en Java cela est réalisé via des jokers.
- Types de données : Kotlin possède des types étendus, par exemple,
Unitau lieu devoid, et supporte les extensions de types.
Exemple de sécurité nulle en Kotlin :
var a: String = "Hello"
// a = null // Erreur de compilation
var b: String? = "Hello"
b = null // Autorisé