Enum 常量的序列化不同于普通的 serializable 或 externalizable 對象。enum 常量的序列化形式只包含其名稱;常量的字段值不被傳送。為了序列化 enum 常量,ObjectOutputStream 需要寫入由常量的名稱方法返回的字符串。與其他 serializable 或 externalizable 對象一樣,enum 常量可以作為序列化流中后續出現的 back 引用的目標。用于序列化 enum 常量的進程不可定制;在序列化期間,由 enum 類型定義的所有類特定的 writeObject 和 writeReplace 方法都將被忽略。類似地,任何 serialPersistentFields 或 serialVersionUID 字段聲明也將被忽略,所有 enum 類型都有一個 0L 的固定的 serialVersionUID。
所以enum類型在添加新的enum對象時,如果沒有用到新的對象,那么enum的序列化和反序列化是不會有異常的。