Biesterfeld: Sessions und Serialisierbarkeit

Beitrag lesen

Hej,

Wenn Du zwei Objekte hast, die identische Objekte referenzieren, dann wird diese Struktur nach dem deserialisieren auch wieder hergestellt. Vorraussetzung ist natürlich, dass die Objekte gemeinsam serialisiert werden.

Das war es, was ich mit dem Session-Wrapper meinte.

Aber müssen diese Eigenschaften denn unbedingt final sein?

Müssen nicht. Aber das ist sowieso etwas, was ich mich immerwieder frage: Wann final nd wann nicht? Was mich am allermeisten an dem ganzen Konzept stört ist, dass der HashCode eines Objektes in der nativen Implementierung abhängig vom Zustand der assoziierten Felder ist, also ändere ich ein Feld, ändert sich auch der HashCode. Liegt das Objekt zu dem Zeitpunkt zum Beispiel in einem HashSet "ist das weitere Verhalten nicht absehbar"(TM). Deswegen mach ich es inzwischen so, dass ich hashCode() überschreibe und den Wert selber aus Feldern berechne die ich aber vorher final gesetzt habe.

Naja, soweit, ich schau mir jetzt erstmal write/readReplace an.

Grüße
Biesterfeld

--
Art.1: Et es wie et es
Art.2: Et kütt wie et kütt
Art.3: Et hätt noch immer jot jejange
Das Kölsche Grundgesetz