Inserção em Listas no Apex: Por que Não é Necessário Validar se Está Vazia?

Um fato interessante que poucos sabem é que você não precisa validar se uma lista é vazia antes de inseri-lá, pois mesmo que ela esteja vazia não ocorrerá nenhuma excessão e também não contará nenhuma DML.

exemplo de código, validando a lista:

trigger OpportunityTrigger on Opportinuty (after insert) 
{
       List<Contact> contacts = new List<Contact>();
       for (Opportunity opp: Trigger.New)
       {
                Contact con = new Contact();
                con.LastName = opp.Name;
                con.AccountId = opp.AccountId;
                contacts.add(opp);
        }
        if(!contacts.isEmpty()){
                insert contacts;
        }
}

exemplo de código sem a validação:

trigger OpportunityTrigger on Opportinuty (after insert) 
{
       List<Contact> contacts = new List<Contact>();
       for (Opportunity opp: Trigger.New)
       {
                Contact con = new Contact();
                con.LastName = opp.Name;
                con.AccountId = opp.AccountId;
                contacts.add(opp);
        }
       insert contacts;
}

Agora que você já sabe não precisa mais validar listar antes de um DML..

Se você não acreditar em mim, faça o teste como eu fiz abaixo:

Deixe um comentário