Ho appena fatto così e ha funzionato, solo che mi ha detto bene perché è bastato clonare i singoli oggetti dell'ArrayList di A.Originariamente inviato da andbin
Sì perché le collezioni fanno una "shallow" copy, cioè creano una nuova collezione ma con gli stessi riferimenti agli oggetti nella collezione originale.
Se gli oggetti contenuti nella tua collezione sono "immutabili" (es. String, Integer ecc...) di per sé non ci sarebbe alcun motivo per fare una "deep" copy .... tanto sono immutabili!!
Se invece sono mutabili e/o ci sono altri motivi che non conosco, allora devi iterare sulla collezione, clonare uno per uno gli elementi (ammesso che siano clonabili) e inserire i nuovi oggetti nella nuova collezione.
Mi chiedo però come sia fattibile quando si hanno collezioni di dati molto più complesse. :master:


Rispondi quotando