У меня есть Java Enum, как показано ниже:Пользовательские поля на Java перечисление не получаю сериализованная
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
}
Я вижу, что после десериализации, пользовательские поля на перечисление теряются. При чтении больше об этом я получил впечатление, что перечисление десериализуется в строку, и поэтому его пользовательские поля игнорируются.
Если это правда, я злоупотребляю Enum здесь & следует просто использовать POJO istead? Или есть способ сериализации пользовательских полей (которые не являются частью конструктора)?
Спасибо!
Пойдите с pojo. См. Ссылку здесь для получения информации о сериализации Enum: http://docs.oracle.com/javase/1.5.0/docs/guide/serialization/relnotes15.html – nattyddubbs
Еще одна ссылка о сериализации enums http://docs.oracle .com/javase/1.5.0/docs/guide/serialization/spec/serial-arch.html # enum –