Cum se creează o clonă a unui obiect în Java

ps în cazul meu este creat un obiect, apoi se fac diferite calcule. După acestea, se creează o clonă a stării actuale și se fac mai multe calcule pe primul obiect. O clonă este necesară numai pentru a stoca starea "originală" pentru a efectua calcule suplimentare în această stare.







Alexander. Nu știu ce se întâmplă în codul tău, am adăugat un obiect care trebuie să cloneze un tip non-primitiv și de asemenea a clonat, a salvat statul.

Alexander. sunteți în clona nu SetValue pe tipul de referință => link-uri aveți două obiecte identice. În acest caz, trebuie să clonați pentru a face o clonă profundă. Dacă nu-mi pasă și viteza critică a obiectului serializat, utilizați de exemplu commons.apache.org/proper/commons-lang/javadocs/ap. . în măsura în care îmi amintesc că va exista o clonă profundă. Dar dacă vrei o clonă rapidă, trebuie să faci ceva de genul asta







Clone utilizator () User temp = (Utilizator) super.clone ();
temp.setValue (valoarea.clone ());
temperatura de revenire;
>

DR_Demons. Oh, eu nici măcar nu știu cum să rupă o bucată de cod ca aceasta, care nu este clonat. nituit în proiectul netbinse aproximativ aceeași structură ca și în proiectul de lucru. Se realocate din nou variabile =) wxmaper.ru/temp/JavaApplication9.zip (pastebin.com/8bjcSdsc)

În acest exemplu, se creează 2 clone (la început problema a fost că am stocat obiectul clonat în obiectul clonat). Apoi, prin temporizator, se fac modificări primului obiect și apar imediat în ambele obiecte clonate.







Trimiteți-le prietenilor: