Hallo zusammen.
Ich plage mich grade mal durch das leidige Thema der Referenzen.
Hierzu meine Frage:
Ich habe eine Datenstrukur z.b. Map<String, Integer>
wenn ich damit jetzt ein Objet erzeugte (z.b. object1) und der Map was hinzufüge ist alles OK.
Erzeuge ich jetzt davon ein Zweites Object (z.b. object 2) und weise object 2 das object1 zu (object2 = object1) dann sind object1 und object2 identisch.
Nehme ich jetzt an object1 veränderungen vor, haben die automatisch auswirkungen auf objetc2.
Will ich das vermeiden muss ich object2 mit "= new Map<String,Integer>(object1)" erzeugen (Das ist das Kopierkonstruktorprinzip).
ICh hoffe mal bis hierhin ist alles richtig.
Wie schaffe ich eine sinnvolle kopierzuweisung bei Komplexeren datentypen?
z.b. List<SelbstDefinierteContainerClasse>
Da müsste ich ja sowohl die Liste kopieren (geht über den standartkopierkonstrukor) und auch noch die inneren objecte. Heißt dass, ich müßßte im extremfall eine koplett neue Liste bauen, per iteration die inneren objekte einfügen, und dabei jeweils die Kopierkonstruktoren aufrufen??
Danke im vorraus
Ich plage mich grade mal durch das leidige Thema der Referenzen.
Hierzu meine Frage:
Ich habe eine Datenstrukur z.b. Map<String, Integer>
wenn ich damit jetzt ein Objet erzeugte (z.b. object1) und der Map was hinzufüge ist alles OK.
Erzeuge ich jetzt davon ein Zweites Object (z.b. object 2) und weise object 2 das object1 zu (object2 = object1) dann sind object1 und object2 identisch.
Nehme ich jetzt an object1 veränderungen vor, haben die automatisch auswirkungen auf objetc2.
Will ich das vermeiden muss ich object2 mit "= new Map<String,Integer>(object1)" erzeugen (Das ist das Kopierkonstruktorprinzip).
ICh hoffe mal bis hierhin ist alles richtig.
Wie schaffe ich eine sinnvolle kopierzuweisung bei Komplexeren datentypen?
z.b. List<SelbstDefinierteContainerClasse>
Da müsste ich ja sowohl die Liste kopieren (geht über den standartkopierkonstrukor) und auch noch die inneren objecte. Heißt dass, ich müßßte im extremfall eine koplett neue Liste bauen, per iteration die inneren objekte einfügen, und dabei jeweils die Kopierkonstruktoren aufrufen??
Danke im vorraus