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).
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 :
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]