DEV Community

Lucas Valhos
Lucas Valhos

Posted on

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

Top comments (0)