/ / Come clonare oggetti in Scala? - scala, clone

Come clonare oggetti in Scala? - scala, clone

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 № 1

Se 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