Qu'est-ce que le “?:” l'opérateur utilisé pour en Groovy?
Essayer de comprendre cette ligne de code Groovy:
return strat?.descriptor?.displayName ?: "null"
Est le ?:
une abréviation, si/d'autre? Est-ce à dire si strat?.descriptor?.displayName
n'est pas nulle, l'imprimer, ou bien imprimer null
?
Je suis confus car il n'y a rien entre les ?
et :
comme je le ferais normalement s'attendre dans un if/else.
- Pourquoi ne pas vous lire le groovy de la documentation? docs.groovy-lang.org/next/html/documentation/...
- pointant notamment l'opérateur ne fait pas de sens pour moi. L'OP peut-être en commençant par la programmation et même pas de savoir sur elvis ou de l'opérateur ternaire. Il serait mieux de le faire directement OP groovy opérateurs docs.
- merci, n'était pas au courant d'elvis opérateur avant
Vous devez vous connecter pour publier un commentaire.
Juste pour ajouter un peu plus de perspicacité, l' "?:" l'opérateur est connu comme l'opérateur binaire ou communément appelé le elvis de l'opérateur. Les exemples de code suivants tous les mêmes résultats lorsque x prend la valeur true selon Groovy Vérité
Cliquez ici pour plus d'infos sur Elvis Opérateur
Oui, le "?:" l'opérateur renvoie la valeur de la gauche, si elle n'est pas null. Autre chose, le retour de la valeur à droite.
null
, mais tous les falsey. par exemple,"" ?: "empty" ===> empty