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.
No answers yet.
Connectez-vous pour laisser une réponse