Serializable
and Externalizable
classes that are not suitable to be annotated with the java.io.Serial
annotation.
Examples:
class Test implements Serializable {
@Serial // The annotated field is not a part of serialization mechanism because it's not final
private static long serialVersionUID = 7874493593505141603L;
@Serial // The annotated method is not a part of the serialization mechanism because it's not private
void writeObject(ObjectOutputStream out) throws IOException {
}
}
class Test implements Externalizable {
@Serial // The annotated method is not a part of the serialization mechanism as it's inside Externalizable class
private void writeObject(ObjectOutputStream out) throws IOException {
}
}
For information about all valid cases, refer the documentation for java.io.Serial
.
New in 2020.3