Serializable

Gast
Gast

Serializable

Beitrag von Gast »

Ich habe eine Frage zum Kapitel Interface Serializable.
Und zwar steht da ja, dass man in jeder Klasse, die Serializable implementiert, ein statisches, finales Attribute serialVersionUID mit einem beliebigen Wert erstellen soll. Ich zietiere einfach mal:
Zusätzlich muss in den Klassen ein statisches, finales Attribut
serialVersionUID mit einem beliebigen Wert angelegt werden.[...] Am sinnvollsten ist es, bei einem Wert (z. B. 1) zu begin-
nen und nach jeder Änderung am Model den Wert zu erhöhen.
Wie kann man den bitte den Wert eines statischen, finalen Attributs erhöhen?

Und muss ich nach jedem Schritt, der durch den Controller ausgeführt wird und dabei das Model ändert, den Wert dieses Attributs erhöhen?

Benutzeravatar
timo.b
Mausschubser
Mausschubser
Beiträge: 79
Registriert: 28. Sep 2009 16:18

Re: Serializable

Beitrag von timo.b »

Mit einer Änderung am Model ist hier das Hinzufügen einer neuen serialisierbaren Klasse gemeint. Durch die ID soll eine Klasse eindeutig identifiziert werden. Später ist das nötig, um diese dann wieder eindeutig zu deserialisieren, d.h. zu einem Java-Objekt zu machen.

Freundliche Grüße
Timo Bähr
(AI1-Tutor)

Gast
Gast

Re: Serializable

Beitrag von Gast »

Heißst das,

dass ich bei jeder Klasse, die mein Model assoziasiert, einen anderen Wert für serialVersionUID eingeben muss. Es können nicht Player und Position den gleichen Wert bekommen?
Und muss ich in meinem implementierten Model auch eine konstante serialVersionUID erstellen?

K.M.
Gast

Re: Serializable

Beitrag von K.M. »

hi,

also bei mir hat es auch funktioniert, wenn ich überall den gleichen Wert hatte. Den Wert zu erhöhen hat nur den Sinn, dass wenn du eine Speicherdatei von einer älteren Version hast. Dann solltest du überall die ID verändern also zum Beispiel erhöhen damit du diese alte Sicherung nicht aufrufen kannst und es so zu Problemen kommt.

Und ich glaube zu deiner zweiten Frage steht sogar etwas in der Aufgabenstellung. Du brauchst da diese ID nicht, da so weit ich das verstanden hat vom IModel erbt.

Antworten

Zurück zu „Archiv“