Qual solução utiliza menos memória? BeanUtils.copyProperties

1 resposta
Nykolas_Lima

Preciso criar uma cópia de uma lista de objetos, qual maneira gastarei menos memória?

Pensei em duas abordagens:
1 -

for(Objeto obj : objetos) {
   Objeto o = new Objeto();
   o = BeanUtils.copyProperties(o, obj);
   ....
}

2 -

Objeto o = new Objeto();
for(Objeto obj : objetos) {
   o = BeanUtils.copyProperties(o, obj);
   ...
}

[]'s

1 Resposta

ViniGodoy

Depende do que você faça com o “o” naquele trecho de …

Se você guarda ele numa lista, a segunda forma ocupa menos memória, mas provavelmente estará incorreta.
Se você só cria ele ali como uma variável temporária, então, a segunda forma também é ligeiramente mais eficiente durante o loop, mas mais ineficiente após sair do loop, a menos que vc limpe o conteúdo de o explicitamente, ou o método acabe.

Criado 20 de junho de 2011
Ultima resposta 20 de jun. de 2011
Respostas 1
Participantes 2