Qu’est-ce que la sécurité vis-à-vis de null
Fait partie de la section Fondamentaux du Journey Kotlin de Coddy. Leçon 12 sur 93.
Dans de nombreux langages de programmation, l’une des erreurs les plus courantes consiste à essayer d’accéder à quelque chose qui n’existe pas : une valeur null. Cela se produit lorsqu’une variable contient « rien » au lieu de données réelles.
Imaginez que vous demandiez le nom d’un utilisateur, mais qu’il n’en ait jamais fourni. Si votre code essaie d’utiliser ce nom vide sans vérifier au préalable, votre programme plante. Ce type de bug est si courant qu’on l’a appelé « l’erreur à un milliard de dollars ».
La solution de Kotlin : la sécurité contre les valeurs nulles
Kotlin a été conçu pour éliminer ces plantages. Par défaut, les variables en Kotlin ne peuvent pas contenir de valeurs nulles :
fun main() {
var name: String = "Alice"
name = null // Erreur ! Ne compilera pas
}Le compilateur détecte ce problème avant même que votre code ne s’exécute. C’est ce qui rend Kotlin « sûr vis-à-vis des valeurs null » : le langage lui-même vous empêche d’utiliser accidentellement null là où il ne devrait pas l’être.
Dans les prochaines leçons, tu apprendras comment Kotlin te permet de travailler avec des valeurs qui peuvent être nulles lorsque tu en as réellement besoin, tout en gardant ton code à l’abri des plantages.
Défi
FacileDéclarez deux variables non nullables pour illustrer la sécurité vis-à-vis des valeurs nulles de Kotlin :
- Une variable
Stringnomméeusernameavec la valeur"Kotlin" - Une variable
Intnomméescoreavec la valeur100
Affichez ensuite les deux valeurs sur des lignes distinctes à l’aide de println().
N’oubliez pas : dans Kotlin, les types ordinaires (non nullables) ne peuvent pas contenir de valeurs
null. Le compilateur garantit que vos variables contiennent toujours des données valides.
Essayez vous-même
fun main() {
// TODO: Écrivez votre code ci-dessous
// Déclarez une variable String non-nullable nommée 'username' avec la valeur "Kotlin"
// Déclarez une variable Int non-nullable nommée 'score' avec la valeur 100
// Affichez les deux valeurs sur des lignes séparées en utilisant println()
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs, partie 1
Opérateurs arithmétiquesOpérateur moduloAffectation augmentéeOpérateurs de comparaisonRécapitulatif - Mathématiques simples7E/S de base
Fonction PrintlnModèles de chaînesEntrée ReadLineConversion de typeRécapitulatif - Années avant la retraiteRécapitulatif - Vrai ou faux10Fonctions
Déclarer une fonctionParamètres et argumentsValeurs de retourArguments nommésValeurs par défautFonctions à expression uniqueRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validation2Variables
Val ou VarInférence de typeNombresChaîne de caractèresBooléenConventions de nommageRécapitulatif - Initialiser des variables5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Opérateurs logiques, partie 3Ternaire avec une expression ifRécapitulatif - Logique simple8Calculateur de partage d’addition
Message de bienvenueSaisie des données11FizzBuzz avec une variante
Aperçu du jeuLa fonction FizzBuzz3Nullabilité
Qu’est-ce que la sécurité vis-à-vis de nullTypes nullableOpérateur d’appel sécuriséOpérateur ElvisBases des défis de fonctionsAssertion de non-nullitéRécapitulatif - Accès sécurisé6Prise de décision
Instruction IfIf - ElseIf comme expressionExpression WhenWhen avec des plagesRécapitulatif - Calculatrice simple9Boucles
Boucle ForBoucle WhileBoucle Do-WhileBreakContinuePlages dans les bouclesBoucle imbriquéeRécapitulatif - FactorielleRécapitulatif - Entrée dynamiqueEntraînez-vous par vous-même : Playground Kotlin