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:
After the quick-fix is applied:
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.
Inspection options
Option | Type | Default |
---|---|---|
Ignore subclasses of | StringList | [java.awt.Component] |
Ignore anonymous inner classes | Checkbox | false |
Inspection Details | |
---|---|
Available in: | IntelliJ IDEA 2023.3, Qodana for JVM 2023.3 |
Plugin: | Java, 233.SNAPSHOT |