title: What is the "?:" operator used for in Groovy?
body: <p>Trying to understand this line of Groovy code:</p>
  
  <pre><code>return strat?.descriptor?.displayName ?: "null"
  </code></pre>
  
  <p>Is the <code>?:</code> a shorthand if/else? Does this mean if <code>strat?.descriptor?.displayName</code> is not null, print it, or else print <code>null</code> ?</p>
  
  <p>I'm confused because there isn't anything between the <code>?</code> and <code>:</code> like I would normally expect in an if/else statement.</p>