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