Guten Tag,
ich habe eine Klasse geschrieben, wobei die Instanzvariabeln eines Objektes per Serialisation gespeichert werden sollen. Das klappt soweit.
soweit klar: Wenn man ein Objekt dieser Klasse speichert und dann der Klasse eine weitere Instanzvariable zuweist, dann kann man vorher gespeicherte Objekte nicht mehr öffnen, weil das Format nicht mehr stimmt.
Verwirrend finde ich aber, daß dieses Problem auch auftritt, wenn ich der Klasse eine neue Methode hinzugefügt habe. Folgende Exception tritt auf:
java.io.InvalidClassException: CardFile; local class incompatible: stream classdesc serialVersionUID = 1258582135629182526, local class serialVersionUID = 8562192200626132835
Werden die Methoden denn auch mitgespeichert? Muß man alle Methoden mit "transient" modifizieren? Oder muß ich den Fehler woanders suchen?
Gruß Nossek
ich habe eine Klasse geschrieben, wobei die Instanzvariabeln eines Objektes per Serialisation gespeichert werden sollen. Das klappt soweit.
soweit klar: Wenn man ein Objekt dieser Klasse speichert und dann der Klasse eine weitere Instanzvariable zuweist, dann kann man vorher gespeicherte Objekte nicht mehr öffnen, weil das Format nicht mehr stimmt.
Verwirrend finde ich aber, daß dieses Problem auch auftritt, wenn ich der Klasse eine neue Methode hinzugefügt habe. Folgende Exception tritt auf:
java.io.InvalidClassException: CardFile; local class incompatible: stream classdesc serialVersionUID = 1258582135629182526, local class serialVersionUID = 8562192200626132835
Werden die Methoden denn auch mitgespeichert? Muß man alle Methoden mit "transient" modifizieren? Oder muß ich den Fehler woanders suchen?
Gruß Nossek
Zuletzt bearbeitet: