Il existe un moyen propre dans Kotlin d'attribuer une valeur à une variable uniquement si la valeur n'est pas nulle?
L'exemple est:
if(x != null)
y = x
J'ai trouvé une solution comme
y = x? : return
mais je ne peux pas comprendre si cela fait ce que je veux et comment cet opérateur fonctionne.
L'opérateur est appelé Elvis Operator. Il évalue si x
n'est pas nul et si c'est vrai, affecte x
à y
. S'il est nul, il évalue l'instruction après le point d'interrogation, renvoyant immédiatement et donc laissant y
intacte.
Une autre solution si vous ne voulez pas encore revenir de la fonction:
x?.let{ y = it }
Qui vérifie si x
n'est pas nul puis le transmet comme seul paramètre au bloc lambda.
C'est également un appel sûr au cas où votre x
est un var
.