Avatar ·

Que fait l'opérateur ?: en Kotlin ? (Elvis Operator)

Bonjour à tous ! J'ai récemment commencé à apprendre Kotlin et je suis tombé sur un opérateur étrange `?:`. Je l'ai vu dans le code de quelqu'un d'autre, mais je ne comprends pas ce qu'il fait. Par exemple, voici un code : ```kotlin val name: String? = null val result = name ?: "Unknown" ``` Je comprends que `String?` signifie que la variable peut être null. Mais que fait `?:` ? Pourquoi `result` devient "Unknown" alors que `name` est null ? En Java, j'aurais écrit `if (name != null) name else "Unknown"`, mais ici c'est un seul symbole. S'il vous plaît, expliquez en termes simples comment fonctionne cet opérateur et montrez des exemples. Je suis aussi curieux de savoir si on peut l'utiliser non seulement avec des valeurs simples, mais aussi avec des fonctions ? Et y a-t-il des pièges à éviter ? Merci d'avance ! <<>>

Opérateur Elvis (Elvis Operator) en Kotlin

L'opérateur ?: s'appelle Elvis Operator (opérateur Elvis) — en raison de sa ressemblance avec la coiffure d'Elvis Presley si on tourne la tête de côté. Il est utilisé pour gérer les valeurs null.