Servus,
ich habe in einem Instanzattribut eine Collection gespeichert, sagen wir eine Collection das Point-Objekte fasst. Jetzt will ich diese einem anderen Objekt übergeben, aber nicht als Referenz sondern nur per Wert. Die Übergabe soll so sein, dass die Werte der Points auch mitgehen.
Wenn das andere Objekt, dass die Collection erhalten hat, diese cleart, darf die Collection im Ursprungsobjekt nicht geändert werden - wie mache ich das?
Aktuell habe ich ein Objekt der Klasse 'MeineUrsprungsklasse' namens 'ursprungObjekt' und eine Klasse 'MeineEmpfaengerklasse' mit dem Objekt 'empfaengerObjekt'. Die Collection die ruebergekarrt werden soll, trägt den Namen 'pointsColl'.
Mein erster Ansatz war, dass ich vor jeder Übergabe der Collection eine Kopie von 'ursprungObjekt' mittels Copy-Konstruktor angelegt habe 'ursprungObjektKopie' und dann mittels 'empfaengerObjekt.setPointsColl(ursprungObjektKopie.getPointsColl);' . Komischerweise wird wenn ich nun 'pointsColl.clear()' auf dem Empfängerobjekt aufrufe, auch die Collection des Ursprungsobjekt gelöscht - ist das normal und wie löst ihr gewöhnlich diese Herausforderung?
ich habe in einem Instanzattribut eine Collection gespeichert, sagen wir eine Collection das Point-Objekte fasst. Jetzt will ich diese einem anderen Objekt übergeben, aber nicht als Referenz sondern nur per Wert. Die Übergabe soll so sein, dass die Werte der Points auch mitgehen.
Wenn das andere Objekt, dass die Collection erhalten hat, diese cleart, darf die Collection im Ursprungsobjekt nicht geändert werden - wie mache ich das?
Aktuell habe ich ein Objekt der Klasse 'MeineUrsprungsklasse' namens 'ursprungObjekt' und eine Klasse 'MeineEmpfaengerklasse' mit dem Objekt 'empfaengerObjekt'. Die Collection die ruebergekarrt werden soll, trägt den Namen 'pointsColl'.
Mein erster Ansatz war, dass ich vor jeder Übergabe der Collection eine Kopie von 'ursprungObjekt' mittels Copy-Konstruktor angelegt habe 'ursprungObjektKopie' und dann mittels 'empfaengerObjekt.setPointsColl(ursprungObjektKopie.getPointsColl);' . Komischerweise wird wenn ich nun 'pointsColl.clear()' auf dem Empfängerobjekt aufrufe, auch die Collection des Ursprungsobjekt gelöscht - ist das normal und wie löst ihr gewöhnlich diese Herausforderung?