Je vais vous expliquer, par exemple:
Elvis Opérateur (?: )
Le "Elvis opérateur" est une abréviation de Java de l'opérateur ternaire. Un exemple de cette pratique est de de retour a 'par défaut' de la valeur si une expression correspond à la valeur false ou la valeur null. Un exemple simple pourrait ressembler à ce:
def gender = user.male ? "male" : "female" //traditional ternary operator usage
def displayName = user.name ?: "Anonymous" //more compact Elvis operator
La Sécurité De La Navigation De L'Opérateur (?.)
La Sécurité de la Navigation opérateur est utilisé pour éviter une NullPointerException. Généralement, quand vous avez une référence à un objet dont vous pourriez avoir besoin de vérifier qu'il n'est pas null avant d'accéder à des méthodes ou des propriétés de l'objet. Pour éviter cela, la sécurité de la navigation opérateur de simplement retourner la valeur null au lieu de lancer une exception, comme donc:
def user = User.find( "admin" ) //this might be null if 'admin' does not exist
def streetName = user?.address?.street //streetName will be null if user or user.address is null - no NPE thrown