Safe Navigation Operator (Winter 21)

Par 

2 minutes de lecture

Bonjour à tous,

Aujourd’hui on va parler d’une des nouveautés de Winter 21 release : the Safe Navigation Operator. C’est vraiment très utile pour les développeurs Salesforce afin de coder proprement et aussi de gérer l’exception de pointeur nul (null pointer exception error).

 

Safe Navigation Operator

Syntaxe ?

Si le côté gauche de l’expression (?.) est évalué à nul, alors le côté droit ne sera pas évalué. Cette navigation sécurisée peut être utilisée dans le chaînage des méthodes, des variables et des propriétés.

Exemples :

Avant le Winter 21 :

String accountNumber = '1234';
Account accWithoutSafeNav = [SELECT Id,Name FROM Account
                             WHERE AccountNumber = :accountNumber];
if(accWithoutSafeNav != null){
    System.Debug('Account Name: ' + accWithoutSafeNav.Name);
}

Mais maintenant, avec le Safe Navigation Operator :

String accountNumber = '1234';
String accountNameWithSafeNav = [SELECT Id,NameFROM Account WHERE                    AccountNumber = :accountNumber]?.Name;
System.Debug('Account Name: ' + accountNameWithSafeNav);

Donc, on voit bien la différence entre les deux versions de code, propre et on est sûr que l’on ne va pas avoir l’exception de pointeur nul.

Ci-dessous un autre exemple :

if(accountIdAccountMap.get(accId) != null) {
    accountName = accountIdAccountMap.get(accId).Name;
}

Avec :

string Account Name = accountIdAccountMap.get(accId)?.Name;

Conclusion :

On remarque bien les avantages de la nouvelle fonctionnalité, d’abord il permet d’avoir un code plus propre, ensuite de ne pas avoir l’erreur d’exception de pointeur nul.

Vous trouverez ci-dessous le document technique de Safe Navigation Operator :

https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/langCon_apex_SafeNavigationOperator.htm

 

J’espère que cela vous a plu et que cette information sera utile. Pour plus de contenu, suivez-nous sur LinkedIn et sur Twitter aussi. Et si vous voulez continuer à apprendre, consultez nos autres articles, comme celui-ci : Salesforce, les 10 fonctionnalités clés pour les développeurs : Guide complet.

[/fusion_text][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]

A lire également sur le blog