Utiliser l'opérateur Elvis dans Kotlin

Kailash Vaviya 15 février 2024
  1. Utiliser l’opérateur Elvis dans Kotlin
  2. Conclusion
Utiliser l'opérateur Elvis dans Kotlin

Vous souvenez-vous de l’opérateur ternaire de Java ? L’opérateur Elvis dans Kotlin est quelque chose de similaire à cela.

Le symbole de l’opérateur Elvis est un point d’interrogation suivi de deux-points (?:). C’est un opérateur binaire qui évaluera deux expressions.

Si l’expression de gauche n’est pas nulle, elle utilisera la référence ou la valeur de cette expression. Mais si l’expression de gauche a une référence nulle, elle exécutera l’expression de droite.

L’opérateur Elvis évaluera l’expression de droite uniquement si l’expression de gauche est nulle.

Utiliser l’opérateur Elvis dans Kotlin

Supposons que vous ayez une valeur nulle dans une variable mais que vous souhaitiez utiliser uniquement une valeur non nulle. Vous pouvez le faire en utilisant une instruction if-else.

fun main(args: Array<String>) {
    var str: String? = null
    var str1: String? = "Hi, Welcome!"
    var l:  Int = if (str != null) str.length else -1
    var l1:  Int = if (str1 != null) str1.length else -1
    println("str's legth is ${l}")
    println("str1's length is ${l1}")
}

Production:

Utiliser if-else pour les instructions conditionnelles

L’opérateur Elvis permet de raccourcir le code ci-dessus. Ainsi, nous pouvons utiliser l’opérateur Elvis au lieu d’écrire l’intégralité de l’instruction if-else.

Cliquez ici pour vérifier la démo de l’exemple.

Voici un exemple de l’opérateur Elvis. Nous allons essayer d’exécuter les mêmes résultats que dans le code ci-dessus, mais cette fois en utilisant l’opérateur Elvis.

fun main(args: Array<String>) {
    var str: String? = null
    var str1: String? = "Hi, Welcome!"
    var l:  Int = str ?.length ?: -1
    var l1:  Int = str1 ?.length ?: -1
    println("str's legth is ${l}")
    println("str1's length is ${l1}")
}

Production:

Utilisation de l&rsquo;opérateur Elvis

Cliquez ici pour vérifier la démo de l’exemple.

Conclusion

Nous pouvons également utiliser l’opérateur Elvis dans Kotlin pour les contrôles de sécurité nuls. Étant donné que throw et return sont des expressions, nous pouvons les utiliser sur le côté droit de l’opérateur Elvis pour une vérification de sécurité nulle.

Kailash Vaviya avatar Kailash Vaviya avatar

Kailash Vaviya is a freelance writer who started writing in 2019 and has never stopped since then as he fell in love with it. He has a soft corner for technology and likes to read, learn, and write about it. His content is focused on providing information to help build a brand presence and gain engagement.

LinkedIn