Recentemente ha avuto alcuni problemi a copiare un oggetto complesso. La sua organizzazione interna è composta da diversi oggetti nidificati. Ho notato che il clone()
Non è disponibile.
Qual è la migliore soluzione per risolvere il problema?
risposte:
13 per risposta № 1Se quell'oggetto complesso è mutabile o contiene parti mutabili, allora la soluzione è la stessa di Java. Controlla domande e post su Java e fallo.
Se tutto è immutabile, allora non ne hai bisognoe non dovrebbe clonare nulla, nel migliore dei casi dovresti fare una copia superficiale dell'oggetto, cambiare solo i campi che devono essere modificati e, nel peggiore dei casi, usare qualcosa come lenti o cerniere per copiare alcuni oggetti profondi e propagare il cambiamento verso l'alto Vedi domande su Scala su lenti e cerniere per questo.
1 per risposta № 2
Ho ottenuto un codice di esempio che funziona per la clonazione di oggetti con stato mutabile qui: Implementazione di '.clone' in Scala