-
Bug
-
Resolution: Fixed
-
P4
-
11
-
b03
-
Not verified
The nested enum java.time.temporal.JulianFields.Field declare a serialVersionUID field. Per the serialization spec, a serialVersionUID field in an enum is ignored.
"The process by which enum constants are serialized cannot be customized: any class-specific writeObject, readObject, readObjectNoData, writeReplace, and readResolve methods defined by enum types are ignored during serialization and deserialization. Similarly, any serialPersistentFields or serialVersionUID field declarations are also ignored--all enum types have a fixed serialVersionUID of 0L. Documenting serializable fields and data for enum types is unnecessary, since there is no variation in the type of data sent."
https://docs.oracle.com/javase/10/docs/specs/serialization/serial-arch.html#serialization-of-enum-constants
Therefore, this misleading field should be deleted.
"The process by which enum constants are serialized cannot be customized: any class-specific writeObject, readObject, readObjectNoData, writeReplace, and readResolve methods defined by enum types are ignored during serialization and deserialization. Similarly, any serialPersistentFields or serialVersionUID field declarations are also ignored--all enum types have a fixed serialVersionUID of 0L. Documenting serializable fields and data for enum types is unnecessary, since there is no variation in the type of data sent."
https://docs.oracle.com/javase/10/docs/specs/serialization/serial-arch.html#serialization-of-enum-constants
Therefore, this misleading field should be deleted.
- relates to
-
JDK-8207816 Align declaration of SerializedLambda.readResolve with serialization conventions
-
- Resolved
-
-
JDK-8208060 Additional corrections of serial-related declarations
-
- Closed
-
-
JDK-8202056 Expand serial warning to check for bad overloads of serial-related methods and ineffectual fields
-
- Resolved
-
-
JDK-8203263 Remove unnecessary throws clauses from serialization-related methods
-
- Resolved
-
-
JDK-8002086 javac should warn if serialVersionUID is present in an enum or anon subclass of an enum
-
- Closed
-