Wenn ich ein Objekt serialisiere, kann ich den serialVersionUID-Mechanismus auf Klassenebene verwenden, um die Kompatibilität der beiden Typen zu gewährleisten.
Was passiert jedoch, wenn ich Felder mit Enum-Werten serialisiere? Gibt es eine Möglichkeit, sicherzustellen, dass der Enum-Typ zwischen Serialisierung und Deserialisierung nicht verändert wurde?
Angenommen, ich habe ein Enum wie OperationResult {SUCCESS, FAIL} und ein Feld namens "result" in einem Objekt, das serialisiert wird. Wie kann ich sicherstellen, dass das Ergebnis bei der Deserialisierung des Objekts auch dann noch korrekt ist, wenn jemand die beiden Werte böswillig vertauscht? (Angenommen, die Aufzählung wird an anderer Stelle als statische Aufzählung deklariert)
Ich frage mich das nur aus Neugier - ich verwende eine Authentifizierung auf Jar-Ebene, um Manipulationen zu verhindern.