Hallo,
Zum Problem:
(um das mal an einem kleinen Beispiel zu veranschaulichen)
Im Schrank befinden sich 10Paar Schuhe ... das 4Paar wird angezogen (diese soll jetzt aber nicht aus dem Schrank rausgenommen werden xD)
Jetzt serialisiere ich Person und Schrank separat dann deserialisiere ich zuerst den Schrank dann die Person. Im schrank sind immer noch 10paar schuhe und die person hat immer noch ein paar an. Leider sind nun nach dem deserialisieren das angezogene paar und das aus dem schrank nicht mehr gleich. (die referenzen stimmen nicht mehr überein)
Gibt es eine Möglichkeit dass nach dem deserialisieren die Referenzen wieder auf das eine und das selbe Objekt gesetzt werden ??
Zum Problem:
(um das mal an einem kleinen Beispiel zu veranschaulichen)
Java:
class Schrank implements Serializable{
private ArrayList<Schuhe> schuhe;
public Schrank(){
this.schuhe = new ArrayList<Schuhe>();
}
public void schuheHinzufügen(Schuhe schuhe){
this.schuhe.add(schuhe);
}
public ArrayList<Schuhe> getSchuhe(){
return this.schuhe;
}
}
class Person implements Serializable{
private Schuhe schuheAngezogen;
public void schuheAnziehen(Schuhe schuhe){
this.schuhe = schuhe;
}
}
class Schuhe implements Serializable{
}
public static void main(){
Schrank schrank = new Schrank();
Person person = new Person();
for(inti=0; i<10; ++i){
schrank.schuheHinzufügen(new Schuhe());
}
person.schuheAnziehen(schrank.getSchuhe.get(3));
}
Jetzt serialisiere ich Person und Schrank separat dann deserialisiere ich zuerst den Schrank dann die Person. Im schrank sind immer noch 10paar schuhe und die person hat immer noch ein paar an. Leider sind nun nach dem deserialisieren das angezogene paar und das aus dem schrank nicht mehr gleich. (die referenzen stimmen nicht mehr überein)
Gibt es eine Möglichkeit dass nach dem deserialisieren die Referenzen wieder auf das eine und das selbe Objekt gesetzt werden ??