La deserializzazione predefinita dei tipi di enum in Java è limitata in quanto il numero readObject
e readObjectNoData
genera InvalidObjectException
. Per questo motivo i tipi di enum sono perfetti per implementare classi singleton senza alcun difetto (Articolo 77, Java efficace, 2a edizione, Bloch).Deserializzazione di enum in Java
- Perché, da un lato, i tipi di enum implementano
Serializable
? - Come dovrebbero essere deserializzati i riferimenti enumerici nella pratica?
Bene, il punto 1 ha una risposta qui. Le classi contenenti riferimenti enum non dovrebbero semplicemente bloccarsi sulla serializzazione. Provo la deserializzazione predefinita e ha funzionato semplicemente! Allora perché, ci sono molti post che discutono efficacemente la deserializzazione delle enumerazioni (solo per soddisfare il ri-factoring del codice)? – abksrv