Clone problem.

0

Mam problem ze skopiowanie, sklonowaniem obiektu. W definicji klasy którą chcę klonować mam

 public a clone(){
        try{
            return (a)super.clone();
        }
        catch (Exception e){
            return null;
        }
    }

Natomiast samo klonowanie robię tak:
tmpa = (a)k.clone();
W klasie a poziadam listę. dodając do k dodatkowy element listy automatycznie jest też dodany w tmpa. Co źle robie? A może nie osiągnę drugiego niepowiązanego obiektu używając clone()??

1

Całą listę też musisz skopiować. Domyślna implementacja clone to płytka kopia obiektu, czyli zwykłe przepisanie wszystkich referencji.
W takim wypadku, po zrobieniu super.clone(), musisz sam skopiować tę listę (wszystkie implementacje kolekcji mają "konstruktory kopiujące") i przypisać do obiektu klonowanego.

1 użytkowników online, w tym zalogowanych: 0, gości: 1