Deep & Shallow Copy

Status
Nicht offen für weitere Antworten.
G

Gazong

Gast
Hallo zusammen,

arbeite momentan an nem JTree.
Ich denke aber das ist nicht JTree spezifisch, sondern ist auch auf andere Objekte übertragbar.
Dennoch bsphaft am JTree bzw. DefaultMutableTreeNode.

Wie kopiere ich Knoten samt ihrer Kinder ?
Habe von deep & shallow Copy gelesen.
Deep ist wohl das was ich suche, weiss nur nich wie es geht! :wink:
Shallow Copy entspricht wohl .clone(),
wobei hier nur ne Referenz erstellt wird , stimmt 's ?

Wie erstelle ich also ne komplett "neue" Kopie (deep Copy) eines DefaultMutableTreeNodes ?

DANKE.
 

Sky

Top Contributor
Dies geht mit Hilfe eines kleinen Tricks relativ einfach:

Code:
public Object deepCopy( Object o ) throws Exception {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
new ObjectOutputStream( baos ).writeObject( o );

ByteArrayInputStream bais =
new ByteArrayInputStream( baos.toByteArray() );

return new ObjectInputStream(bais).readObject();
}


Hinweis 1: Die zu klonenden Objekte müssen dann nur das Serializable Interface implementieren.
Hinweis 2: Wenn Du die Methode static deklarierst und in eine Art util-Klasse schiebst kannst Du die Methode von so ziemlichen allen Klassen in deiner Anwendung verwenden.
 

foobar

Top Contributor
sky80 hat gesagt.:
Dies geht mit Hilfe eines kleinen Tricks relativ einfach:

Code:
public Object deepCopy( Object o ) throws Exception {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
new ObjectOutputStream( baos ).writeObject( o );

ByteArrayInputStream bais =
new ByteArrayInputStream( baos.toByteArray() );

return new ObjectInputStream(bais).readObject();
}


Hinweis 1: Die zu klonenden Objekte müssen dann nur das Serializable Interface implementieren.
Hinweis 2: Wenn Du die Methode static deklarierst und in eine Art util-Klasse schiebst kannst Du die Methode von so ziemlichen allen Klassen in deiner Anwendung verwenden.

super :applaus:
Dadurch erspart man sich viel Arbeit :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
windl Text mining / deep learning Allgemeine Java-Themen 0
L Deep Copy LinkedHashMap Allgemeine Java-Themen 5
B Quellcode einer Java libary finden um zu copy & paste'n Allgemeine Java-Themen 5
llabusch Cut, Copy & Paste Symbole Allgemeine Java-Themen 2
H Copy Paste implementieren ausserhalb des Programms? Allgemeine Java-Themen 2
K Copy/Paste klappt nicht einwandfrei Allgemeine Java-Themen 15
E Eingabeprüfung JTextField. Fehler bei Copy-Paste Allgemeine Java-Themen 4
X Copy Constructor in Java ? Allgemeine Java-Themen 7
D java.util.ConcurrentModificationException - per Copy vermeiden Allgemeine Java-Themen 11
Daniel_L Bug in Copy-Funktion bei HTML-Editorpane? Allgemeine Java-Themen 4
P [SWT] Copy, Paste und Cut abfangen Allgemeine Java-Themen 6
X Wann ist Runtime.getRuntime().exec mit Copy fertig? Allgemeine Java-Themen 10
P Copy-Constructor aufrufen - Wie ??? Allgemeine Java-Themen 3
A copy Allgemeine Java-Themen 4
T Anti-Kommerzielle Lizenz mit Copy-Left? Allgemeine Java-Themen 58
L Copy&Paste Allgemeine Java-Themen 2
U JEditorPane & copy'n'paste Allgemeine Java-Themen 34
G Copy Allgemeine Java-Themen 2
A Zusammenfassen von zwei Dateien (wie beim DOS-Befehl copy) Allgemeine Java-Themen 6
V Objekt aus Session als copy by value bekommen Allgemeine Java-Themen 4
P Copy mit Runtime.exec() unter Unix Allgemeine Java-Themen 4
N Nochmal Clipboard. cut copy paste Allgemeine Java-Themen 2
N Struct oder Record? Und COPY in und aus Zwischenablage Allgemeine Java-Themen 2

Ähnliche Java Themen


Oben