[records] Is serialVersionUID warning for records redundant?
Tagir Valeev
amaembo at gmail.com
Mon Aug 3 07:30:03 UTC 2020
Hello!
I believe, explicit specification of serialVersionUID in records
rarely makes sense and should be discouraged. Still javac issues a
lint warning if it's absent:
>"C:\Program Files\Java\jdk-15\bin\java.exe" --version
openjdk 15-ea 2020-09-15
OpenJDK Runtime Environment (build 15-ea+33-1546)
OpenJDK 64-Bit Server VM (build 15-ea+33-1546, mixed mode, sharing)
>type Test.java
public record Test() implements java.io.Serializable {}
>"C:\Program Files\Java\jdk-15\bin\javac.exe" --enable-preview --release=15 -Xlint:all Test.java
Test.java:1: warning: [preview] records are a preview feature and may
be removed in a future release.
public record Test() implements java.io.Serializable {}
^
Test.java:1: warning: [serial] serializable class Test has no
definition of serialVersionUID
public record Test() implements java.io.Serializable {}
^
2 warnings
To my opinion, javac should be updated to skip this warning.
With best regards,
Tagir Valeev.
More information about the amber-dev
mailing list