Shallow Copy / Deep Copy von Objekten

Status
Nicht offen für weitere Antworten.

Sindbad1983

Top Contributor
Hi!

Wer kann mir auf verständliche Weise den Unterschied zwischen diesen beiden erklären?
Eventuell mit einem ansehnlichen Beispiel?

Danke,Tommy
 

meez

Top Contributor
shallow copy ist wenn du zum Beispiel ein ArrayList kopierst...Da wird nur die Liste selber kopiert nich aber deren Inhalt...
Mit deep copy wird auch der Inhalt mitkopiert...
 

Bleiglanz

Gesperrter Benutzer
objekt foo hat eine Member variable

private List liste;

wenn du eine Shallow Copy machst, dann verweist das member in der Kopie auf die gleiche Liste, d.h. Änderungen in Kopie betreffen auch das Original

deep copy würde allen Objektpfaden ("the web of objects") folgen und von jedem referenzierten Objekte eine Kopie machen (lies mal nach zum Theme clone())

kurz gesagt

shallow: primitive member kopiert, bei Object Members die referenz kopiert

deep: primitive member kopiert, bei Object Members allen referenzen folgen und alle erreichbaren Objekte selbst kopieren
 
B

bygones

Gast
das gilt für alle Collection und Map Typen (also haste ein paar Bsp ;) )
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Shallow copy .super.clone() Java Basics - Anfänger-Themen 2
H Shallow Copy von Objekten Java Basics - Anfänger-Themen 6
B Frage zu Shallow vs. DeepClone Java Basics - Anfänger-Themen 14
S Copy - Constructor vs clone() Java Basics - Anfänger-Themen 20
J Count und Copy in Stream<Path> Java Basics - Anfänger-Themen 11
B Copy Paste Befehl Java Basics - Anfänger-Themen 6
S Objekte klonen und Deep Copy Java Basics - Anfänger-Themen 30
B Files.copy wirft Exeption Java Basics - Anfänger-Themen 2
V java nio Files.copy Java Basics - Anfänger-Themen 10
B Copy-Constructor Java Basics - Anfänger-Themen 6
Luk10 Arrays.copy(myArray) vs myArray.clone() Java Basics - Anfänger-Themen 9
B Eclipse Hotkeys (Copy Paste Undo Redo Save) spielen verrückt Java Basics - Anfänger-Themen 6
L Array Copy Java Basics - Anfänger-Themen 7
M Cut, Copy und Paste in Symbolleiste einfügen Java Basics - Anfänger-Themen 4
A Objekt zwischen 2 Java programmen copy+Paste Java Basics - Anfänger-Themen 13
J Funktion Copy Area Java Basics - Anfänger-Themen 13
K Ich möchte in einem Text Editor cut, copy ,paste einfügen! Java Basics - Anfänger-Themen 2
C copy Java Basics - Anfänger-Themen 6
K Ant Copy Folder mit Zugriffschutz ausschliessen. Java Basics - Anfänger-Themen 2
M Cut, Copy und Paste mit mehreren Textfeldern? Java Basics - Anfänger-Themen 3
F Copy - zugriff verweigert ! Java Basics - Anfänger-Themen 5
W deep copy mehrdimensionaler Arrays Java Basics - Anfänger-Themen 11
H Deep Copy von Objekten Java Basics - Anfänger-Themen 4
V Copy & "Paste" im Frame Java Basics - Anfänger-Themen 3
G Über undo, copy, cat, paste, delete Funktionen Java Basics - Anfänger-Themen 3
I Für was macht man "deep Kopien" Java Basics - Anfänger-Themen 4
B Deep Clone Java Basics - Anfänger-Themen 12
T Deep Clone Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben