ich eine Java Enum haben, wie unten gezeigt:Benutzerdefinierte Felder auf Java-Enumeration nicht serialisiert bekommen
public enum ExecutionMode {
TYPE_A,
TYPE_B,
TYPE_C;
private ExecutionMode(){} //no args constr- no really required
private boolean incremental; //has get/set
private String someStr; //has get/set
}
Ich sehe, dass die benutzerdefinierten Felder auf dem ENUM nach Deserialisierung verloren. Wenn ich mehr darüber gelesen habe, habe ich den Eindruck, dass die Enumeration in eine Zeichenkette deserialisiert wird und daher die benutzerdefinierten Felder ignoriert werden.
Wenn es wahr ist, missbrauche ich Enum hier & sollte nur POJO istead verwenden? Oder gibt es eine Möglichkeit, die benutzerdefinierten Felder (die nicht Teil des Konstruktors sind) zu serialisieren?
Danke!
Gehen Sie mit dem pojo. Siehe Link hier für Informationen über 'Enum' Serialisierung: http://docs.oracle.com/javase/1.5.0/docs/guide/serialization/relnotes15.html – nattyddubbs
Ein weiterer Link über Enums Serialisierung http://docs.oracle .com/javase/1.5.0/docs/guide/serialisierung/spec/serial-arch.html # enum –