Menu
CoddyTech

Opérateur Elvis

Fait partie de la section Fondamentaux du Journey Kotlin de Coddy. Leçon 15 sur 93.

L’opérateur d’appel sécurisé est très pratique pour éviter les plantages, mais parfois, vous avez besoin d’une valeur réelle plutôt que de null. L’opérateur Elvis ?: vous permet de fournir une valeur par défaut lorsqu’une expression est null.

La syntaxe est simple : placez ?: après une expression nullable, puis indiquez la valeur de repli :

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

Si le côté gauche n’est pas nul, cette valeur est utilisée. S’il est nul, le côté droit devient le résultat. Cela fonctionne parfaitement avec les appels sécurisés :

fun main() {
    val text: String? = null
    val length = text?.length ?: 0
    println(length)  // Affiche : 0
    
    val greeting: String? = "Hello"
    val greetingLength = greeting?.length ?: 0
    println(greetingLength)  // Affiche : 5
}

L’opérateur tire son nom du fait que ?: ressemble à la coiffure d’Elvis lorsqu’on la regarde de côté. Plus important encore, il vous offre un moyen simple de convertir des types nullables en valeurs non nullables avec des valeurs par défaut appropriées.

challenge icon

Défi

Facile

Un colis possède une étiquette de suivi facultative et une destination facultative. Le code de départ fournit les deux valeurs nullables. Utilisez ?: pour choisir "Pending" lorsque l’étiquette de suivi est manquante et "Unassigned" lorsque la destination est manquante. Affichez l’étiquette choisie, puis la destination choisie, sur des lignes distinctes.

Essayez vous-même

fun main() {
    val trackingLabel: String? = null
    val destination: String? = "Harbor"
    // Choisissez et affichez les deux valeurs à afficher.
}
quiz iconTestez-vous

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

Entraînez-vous par vous-même : Playground Kotlin