0Pricing
Android Academy · Leçon

Appels sûrs et opérateur Elvis

Les opérateurs ?. et ?:.

Appels sûrs et opérateur Elvis est une leçon Android Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Android Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Android Academy comprend 4 leçons au total.

Au-delà des vérifications avec if

Vérifier chaque valeur nullable avec un if fonctionne, mais le code devient rapidement verbeux. Kotlin propose des opérateurs compacts conçus pour gérer les valeurs nulles.

Cette leçon présente l’opérateur d’appel sécurisé ?. et l’opérateur Elvis ?:, deux outils que vous utiliserez constamment.

L’opérateur d’appel sécurisé

L’opérateur ?. appelle une méthode uniquement si la valeur n’est pas nulle. Si elle est nulle, toute l’expression prend la valeur null au lieu de provoquer un plantage.

Il s’agit d’un raccourci sûr pour le schéma « si non nul ».

fun main() {
    val name: String? = "Coddy"
    println(name?.length)
}

Appel sécurisé sur une valeur nulle

Lorsque le récepteur est nul, l’appel sécurisé s’arrête immédiatement et renvoie null. Aucune exception n’est levée.

Ici, le résultat affiché est le mot null, et non un plantage.

fun main() {
    val name: String? = null
    println(name?.length)  // prints: null
}

Enchaîner les appels sécurisés

Vous pouvez enchaîner ?. sur plusieurs étapes. Si un maillon est nul, toute la chaîne s’arrête et produit null.

C’est idéal pour parcourir des données facultatives imbriquées.

class Address(val city: String?)
class User(val address: Address?)

fun cityOf(u: User?): String? {
    return u?.address?.city
}

L’opérateur Elvis

L’opérateur Elvis ?: fournit une valeur de repli lorsque le côté gauche est nul. Il porte ce nom en raison de la coiffure du chanteur, à laquelle le symbole ressemble.

Comprenez-le ainsi : utilisez la valeur de gauche, sinon utilisez celle de droite.

fun main() {
    val name: String? = null
    val shown = name ?: "Guest"
    println(shown)  // prints: Guest
}

Elvis avec des appels sécurisés

L’appel sécurisé et Elvis fonctionnent très bien ensemble. Utilisez ?. pour accéder à une valeur et ?: pour fournir une valeur par défaut si un élément était nul.

Ce schéma transforme un résultat nullable en une valeur garantie non nulle.

fun main() {
    val name: String? = null
    val len: Int = name?.length ?: 0
    println(len)  // prints: 0
}

Exemple de longueur par défaut

Ici, le type du résultat est un simple Int, et non Int?. L’opérateur Elvis a supprimé la possibilité de null.

Après ?: avec une valeur de repli non nulle, le compilateur sait que la valeur ne peut jamais être nulle.

val title: String? = "Kotlin"
val length: Int = title?.length ?: 0
// length is a non-null Int

Elvis pour effectuer un retour anticipé

Comme return et throw sont des expressions en Kotlin, vous pouvez les placer à droite de l’opérateur Elvis.

C’est une manière claire de quitter rapidement la fonction lorsqu’une valeur requise est absente.

fun process(input: String?) {
    val text = input ?: return
    println(text.uppercase())
}

Appel sécurisé avec let

Combinez ?. avec let pour exécuter un bloc uniquement lorsque la valeur n’est pas nulle. À l’intérieur, la valeur est non nulle et porte le nom it.

C’est une construction courante pour agir sur des valeurs facultatives.

fun main() {
    val email: String? = "a@b.com"
    email?.let {
        println("Sending to " + it)
    }
}

Tout assembler

Un court programme peut montrer comment l’appel sécurisé et Elvis coopèrent pour produire un message convivial.

Remarquez qu’aucune instruction if n’est nécessaire, tout en évitant les plantages liés à null.

fun main() {
    val nickname: String? = null
    val display = nickname?.uppercase() ?: "ANONYMOUS"
    println(display)
}

Choisir le bon opérateur

Utilisez ?. lorsque vous voulez laisser un résultat nul se propager sans conséquence. Utilisez ?: lorsque vous voulez remplacer null par une valeur concrète par défaut.

Ensemble, ils couvrent la grande majorité des cas courants de gestion de null, sans vérifications verbeuses.

val count = list?.size ?: 0
// safe call reads size, Elvis defaults to 0

Vérification rapide

Vérifiez votre compréhension des appels sécurisés et de l’opérateur Elvis.

Récapitulatif

L’appel sécurisé ?. appelle un membre uniquement si le récepteur n’est pas nul ; sinon, il produit null. L’opérateur Elvis ?: remplace une valeur nulle par une valeur de repli.

Les enchaîner permet de supprimer proprement la possibilité de null. Vous allez maintenant approfondir les fonctions de portée comme let et also.

Questions Fréquemment Posées

La leçon « Appels sûrs et opérateur Elvis » est-elle gratuite ?

Oui — le texte complet de « Appels sûrs et opérateur Elvis » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Android Academy, passe à CoddyKit PRO. Le cours Android Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Appels sûrs et opérateur Elvis » ?

Les opérateurs ?. et ?:. Tu pratiques Android Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Android Academy ?

Aucune expérience préalable n'est requise. Android Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Appels sûrs et opérateur Elvis » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Android Academy ?

Oui. Chaque leçon Android Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Types pouvant être nuls ou non nuls
  2. Appels sûrs et opérateur Elvis
  3. Fonctions let, also et de portée
  4. Éviter les NullPointerExceptions
← Retour à Android Academy