Tôi có một Enum Java như hình dưới đây:lĩnh vực Custom trên java enum không nhận được serialized
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
}
tôi thấy rằng sau khi deserialization, các lĩnh vực tùy chỉnh trên enum bị mất. Khi đọc thêm về nó, tôi có ấn tượng rằng enum được deserialized thành một chuỗi và do đó các lĩnh vực tùy chỉnh của nó được bỏ qua.
Nếu đúng, tôi có lạm dụng Enum ở đây & chỉ nên sử dụng POJO istead? Hoặc có cách nào để tuần tự hóa các trường tùy chỉnh (không phải là một phần của hàm tạo) không?
Cảm ơn!
Đi kèm với thơ. Xem liên kết ở đây để biết thêm thông tin về chuỗi tuần tự 'Enum': http://docs.oracle.com/javase/1.5.0/docs/guide/serialization/relnotes15.html – nattyddubbs
Một liên kết khác về tuần tự enum http://docs.oracle .com/javase/1.5.0/docs/guide/serialization/spec/serial-arch.html # enum –