Qu'est-ce que les types 'nullable' en Kotlin et comment fonctionnent-ils?
sobes.tech IA
Réponse de l'IA
Les types nullable en Kotlin sont des types qui peuvent contenir une valeur ou null. Ils sont explicitement indiqués par le symbole ? après le nom du type.
Le fonctionnement repose sur le système de types de Kotlin, qui empêche les NullPointerException lors de la compilation. Le compilateur exige une vérification explicite de null avant d’accéder aux membres d’un objet de type nullable.
Les principales méthodes pour travailler en toute sécurité avec les types nullable sont :
-
Vérification de
nullavecif:fun printLength(str: String?) { if (str != null) { println(str.length) // Appel sécurisé après vérification de null } else { println("Chaîne null") } } -
Opérateur d’appel sécurisé (
?.) : Retournenullsi l’objet estnull, sinon le résultat de l’appel.val safeLength: Int? = str?.length // Si str est null, safeLength sera null -
Opérateur Elvis (
?:) : Permet de fournir une valeur par défaut si l’expression à gauche de l’opérateur estnull.val lengthOrDefault: Int = str?.length ?: 0 // Si str est null, lengthOrDefault sera 0 -
Opérateur d’affirmation non nulle (
!!) : Convertit un type nullable en non nullable. Doit être utilisé avec précaution, car il lancera uneNullPointerExceptionsi la valeur estnull.val assertedLength: Int = str!!.length // Lancer NPE si str est null -
Fonctions let/run/apply/also avec appel sécurisé :
str?.let { // Le code s’exécutera uniquement si str n’est pas null println("Longueur de la chaîne : ${it.length}") }
Le système de types nullable de Kotlin augmente considérablement la sécurité et réduit la probabilité d’NullPointerException par rapport aux langages où null peut être attribué à n’importe quel type sans indication explicite.