JDK 12 RFR of JDK-8207751: Remove misleading serialVersionUID from JulienFields.Field
Lance Andersen
lance.andersen at oracle.com
Tue Jul 17 23:25:28 UTC 2018
Hi Joe,
+1
I assume we do not need to add a specific test for this clean-up?
> On Jul 17, 2018, at 7:19 PM, joe darcy <joe.darcy at oracle.com> wrote:
>
> Hello,
>
> 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; please review the patch below which does this.
>
> Thanks,
>
> -Joe
>
> --- a/src/java.base/share/classes/java/time/temporal/JulianFields.java Tue Jul 17 17:14:03 2018 -0400
> +++ b/src/java.base/share/classes/java/time/temporal/JulianFields.java Tue Jul 17 16:07:22 2018 -0700
> @@ -222,8 +222,6 @@
> MODIFIED_JULIAN_DAY("ModifiedJulianDay", DAYS, FOREVER, 40587L),
> RATA_DIE("RataDie", DAYS, FOREVER, 719163L);
>
> - private static final long serialVersionUID = -7501623920830201812L;
> -
> private final transient String name;
> private final transient TemporalUnit baseUnit;
> private final transient TemporalUnit rangeUnit;
>
<http://oracle.com/us/design/oracle-email-sig-198324.gif>
<http://oracle.com/us/design/oracle-email-sig-198324.gif> <http://oracle.com/us/design/oracle-email-sig-198324.gif>
<http://oracle.com/us/design/oracle-email-sig-198324.gif>Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
Oracle Java Engineering
1 Network Drive
Burlington, MA 01803
Lance.Andersen at oracle.com <mailto:Lance.Andersen at oracle.com>
More information about the core-libs-dev
mailing list