Kotlin Academy · Leçon

Appels sûrs et opérateur Elvis

Opérateurs ?. et ?:

Leçon 2 sur 413 étapes

Appels sûrs et opérateur Elvis est une leçon Kotlin 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 Kotlin Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Kotlin Academy comprend 4 leçons au total.

Manipuler proprement les valeurs nullables

Écrire if (x != null) partout devient verbeux. Kotlin propose deux opérateurs concis pour les valeurs nullables :

  • l'appel sécurisé ?.
  • l'opérateur Elvis ?:

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

L'appel sécurisé ?. appelle une méthode ou lit une propriété uniquement si la valeur n'est pas nulle. Sinon, toute l'expression s'évalue à null.

Pas de plantage ni de vérification explicite.

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

Appel sécurisé sur null

Lorsque le récepteur est null, l'appel sécurisé s'arrête immédiatement et renvoie null au lieu de lever une exception.

C'est la principale différence avec un simple appel utilisant le point.

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

Chaîner les appels sécurisés

Les appels sécurisés peuvent être chaînés. Si un maillon de la chaîne est null, l'ensemble du résultat devient null.

Cela évite les vérifications de nullité profondément imbriquées.

fun main() {
    val text: String? = "hello world"
    val result = text?.uppercase()?.substring(0, 5)
    println(result)
}

L'opérateur Elvis

L'opérateur Elvis ?: fournit une valeur de secours lorsque le côté gauche vaut null.

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

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

Elvis avec une vraie valeur

Si le côté gauche n'est pas nul, l'opérateur Elvis le renvoie simplement et ignore la valeur de secours.

La valeur de secours est utilisée uniquement lorsque la valeur est absente.

fun main() {
    val name: String? = "Sam"
    val display = name ?: "Guest"
    println(display)
}

Combiner l'appel sécurisé et Elvis

Ces opérateurs sont souvent utilisés ensemble. Un appel sécurisé peut produire null, et Elvis fournit une valeur par défaut.

C'est l'une des constructions Kotlin les plus courantes.

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

Elvis pour un retour anticipé

Le côté droit d'Elvis peut être return ou throw. C'est une manière claire de quitter rapidement une fonction lorsqu'une valeur est absente.

Si id vaut null, la fonction renvoie immédiatement.

fun process(id: String?) {
    val safeId = id ?: return
    println("Processing " + safeId)
}

fun main() {
    process("A-100")
    process(null)
    println("done")
}

Appel sécurisé avec let

Combinez ?. avec let pour exécuter un bloc uniquement lorsque la valeur n'est pas nulle.

À l'intérieur du bloc, it désigne la valeur non nulle.

fun main() {
    val name: String? = "Kotlin"
    name?.let {
        println("Length is " + it.length)
    }
}

Nombres par défaut avec Elvis

Elvis est pratique pour transformer des nombres pouvant être nuls en valeurs par défaut sûres avant d'effectuer des opérations arithmétiques.

Ici, un compte nul devient 0, de sorte que les calculs fonctionnent toujours.

fun main() {
    val count: Int? = null
    val total = (count ?: 0) + 5
    println(total)
}

Tout mettre en pratique

Ensemble, ces opérateurs remplacent les vérifications de nullité volumineuses :

  • ?. appelle uniquement lorsque la valeur n'est pas nulle
  • ?: fournit une valeur de secours lorsque la valeur est nulle
  • Le chaînage et let rendent les enchaînements complexes concis
fun main() {
    val input: String? = null
    val name = input?.trim()?.uppercase() ?: "UNKNOWN"
    println(name)
}

Vérification rapide

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

Récapitulatif

Vous avez appris les deux opérateurs essentiels pour les valeurs pouvant être nulles :

  • Appel sécurisé ?. renvoie null au lieu de provoquer un plantage
  • Elvis ?: fournit une valeur de secours
  • Ils se combinent facilement avec let et les retours anticipés

Vous découvrirez ensuite l’opérateur !! et pourquoi vous devez l’utiliser avec prudence.

Gratuit pour commencer

Apprends Kotlin avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
51
Leçons
203

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 Kotlin Academy, passe à CoddyKit PRO. Le cours Kotlin Academy comprend 4 leçons au total.

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

Opérateurs ?. et ?: Tu pratiques Kotlin 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 Kotlin Academy ?

Aucune expérience préalable n'est requise. Kotlin 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 Kotlin Academy ?

Oui. Chaque leçon Kotlin 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 nullable et non nullable
  2. Appels sûrs et opérateur Elvis
  3. L’opérateur !!
  4. Types de plateforme
← Retour à Kotlin Academy