Serializable non-static inner class without 'serialVersionUID'
Reports non-static inner classes that implement java.io.Serializable
, but do not define a serialVersionUID
field.
Without a serialVersionUID
field, any change to the class will make previously serialized versions unreadable. It is strongly recommended that Serializable
non-static inner classes have a serialVersionUID
field, otherwise the default serialization algorithm may result in serialized versions being incompatible between compilers due to differences in synthetic accessor methods.
A quick-fix is suggested to add the missing serialVersionUID
field.
Example:
class Outer {
class Inner implements Serializable {}
}
After the quick-fix is applied:
class Outer {
class Inner implements Serializable {
private static final long serialVersionUID = -7004458730436243902L;
}
}
- By ID
Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.
-serial
Use the following options to configure the inspection:
List classes whose inheritors should not be reported by this inspection. This is meant for classes that inherit
Serializable
from a superclass but are not intended for serialization.Whether to ignore
Serializable
anonymous classes.
Here you can find the description of settings available for the Serializable non-static inner class without 'serialVersionUID' inspection, and the reference of their default values.
Inspection Details | |
---|---|
By default bundled with: | |
Can be installed with plugin: | Java, 243.23126 |
Thanks for your feedback!