Domyślna deserializacja typów wyliczeniowych w Javie jest ograniczona jako i readObjectNoData
rzut InvalidObjectException
. Z tego powodu typy wyliczeniowe są idealne do implementacji klas singletowych bez żadnych błędów (Element 77, Efektywna Java, wydanie 2, Bloch).Deserializacja enum w Javie
- Dlaczego, z pierwszej ręki, typy enum obsługują w ogóle
Serializable
? - Jak powinny być wyliczone odniesienia w praktyce?
Cóż, punkt # 1 ma tutaj odpowiedź. Klasy zawierające wyliczenia enum nie powinny po prostu ulegać awarii podczas serializacji. Próbuję deserializacji domyślnej i działa po prostu! Więc dlaczego jest wiele postów omawiających efektywne deserializowanie enumów (tylko po to, by obsłużyć re-factoring kodu)? – abksrv