Hallo,
ich möchte ein Objekt, welches wiederum auf andere objekte zugreift kopieren. Es soll eine tiefe Kopie sein, damit die Daten erhalten bleiben.
haben es so probiert:
Anmerkung: Bei komplexen Objekten, die viele Referenzen auf andere Objekte besitzen schlägt das Verfahren meist fehl. Der Serialisierungsmechanismus verwendet Rekursion, um alle referenzierten Objekte zu speichern. Wird auf Objekte referenziert, die wieder auf Objekte referenzieren usw. kann es geschehen, daß der Stack-Speicher für die Rekursion überläuft.
Da ich solche komplexe Objekte benutze, funktioniert es also nicht.
clone() habe ich auch versucht aber keinen Erfolg gehabt. Was gibt es sonst für Möglichkeiten?
ich möchte ein Objekt, welches wiederum auf andere objekte zugreift kopieren. Es soll eine tiefe Kopie sein, damit die Daten erhalten bleiben.
haben es so probiert:
Java:
import java.io.ByteArrayOutputStream;
import java.io.ByteArrayInputStream;
import java.io.ObjectOutputStream;
import java.io.ObjectInputStream;
import java.io.IOException;
public class TiefeKopie {
public static Object kopiere(Object einObjekt)
throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.write(einObjekt);
ByteArrayInputStream bais =
new ByteArrayInputStream(baos.toByteArray());
ObjectInputStream ois = new ObjectInputStream(bais);
return ois.readObject();
}
}
Da ich solche komplexe Objekte benutze, funktioniert es also nicht.
clone() habe ich auch versucht aber keinen Erfolg gehabt. Was gibt es sonst für Möglichkeiten?
Zuletzt bearbeitet von einem Moderator: