DEV Community

Lucas Valhos
Lucas Valhos

Posted on

1

Salesforce Apex - Simplificando a Manipulação de Nulos com o Operador de Coalescência Nula

Em programação, lidar com valores nulos é uma tarefa comum, mas muitas vezes complicada. No Salesforce Apex, a introdução do operador de coalescência nula (??) na última release traz uma solução elegante para este desafio, permitindo aos desenvolvedores escrever código mais limpo e eficiente.

O Que é o Operador de Coalescência Nula?

O operador de coalescência nula (??) permite definir um valor padrão para uma variável que pode ser nula, tudo em uma expressão concisa. Se a expressão à esquerda do operador for nula, o valor à direita é utilizado; caso contrário, o valor da própria expressão é mantido.

Benefícios

  • Redução de Código: Elimina a necessidade de estruturas condicionais extensas para checagem de nulos.

  • Melhoria na Legibilidade: Torna o código mais intuitivo, facilitando a manutenção e compreensão.

  • Prevenção de Erros: Minimiza a ocorrência de NullPointerException ao garantir que valores padrão sejam utilizados quando necessário.

O operador de coalescência nula é uma adição valiosa à linguagem Apex, simplificando a manipulação de valores nulos e promovendo práticas de codificação mais seguras e eficientes. Adotar esse recurso pode significar um código mais robusto, com menor risco de falhas em tempo de execução.

Exemplo 1: Valor Padrão para Strings

String nome = contato.Nome ?? "Desconhecido";
Enter fullscreen mode Exit fullscreen mode

Este código atribui o nome do contato à variável nome se não for nulo; caso contrário, atribui a string "Desconhecido

Exemplo 2: Encadeamento de Coalescência Nula

String enderecoEmail = usuario.Email ?? contato.EmailSecundario ?? "email@padrao.com";
Enter fullscreen mode Exit fullscreen mode

Aqui, o Apex tenta atribuir usuario.Email a enderecoEmail. Se usuario.Email for nulo, tenta contato.EmailSecundario, e se ambos forem nulos, utiliza "email@padrao.com".

Exemplo 3: Operações com Listas

Integer tamanhoLista = (umaLista ?? new List<String>()).size();
Enter fullscreen mode Exit fullscreen mode

Este exemplo demonstra como garantir que operações em listas não resultem em erros devido a nulos, atribuindo uma nova lista vazia caso umaLista seja nula.

Esse artigo em inglês aborda outros exemplos interessantes que podemos aplicar no dia a dia.

https://sfdclesson.com/2023/12/21/simplify-null-checks-in-apex-with-new-null-coalescing-operator/

Documentação oficial (em inglês)

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

Heroku

Build apps, not infrastructure.

Dealing with servers, hardware, and infrastructure can take up your valuable time. Discover the benefits of Heroku, the PaaS of choice for developers since 2007.

Visit Site

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay