Avatar ·

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

Salut ! Je viens de commencer à apprendre Kotlin après Java et je suis tombé sur un opérateur étrange ?:. Je l'ai vu dans du code d'autres personnes, mais je n'arrive pas à comprendre ce qu'il fait. Voici un exemple que j'ai trouvé : ```kotlin val name: String? = null val displayName = name ?: "Invité" println(displayName) // Affiche "Invité" ``` Si j'écris la même chose avec if-else, cela prend 3-4 lignes. Donc, ?: est une sorte de syntaxe abrégée ? Mais je ne suis pas sûr de quand l'utiliser, et quand il vaut mieux se contenter d'une vérification normale. J'ai aussi vu ce code étrange : ```kotlin val length = text?.length ?: 0 ``` Ici, il y a d'abord ?. (appel sécurisé), puis ?:. Est-ce que c'est légal ? Et que se passe-t-il si text est null ? Expliquez-moi, s'il vous plaît, comment fonctionne cet opérateur, en quoi il diffère d'un if-else normal, et s'il y a des pièges à éviter. Merci d'avance ! <<>>

Qu'est-ce que l'opérateur Elvis (?:) en Kotlin ?

L'opérateur ?: en Kotlin s'appelle l'opérateur Elvis.