Serializable class without 'serialVersionUID'
Reports classes that implement Serializable and do not declare a serialVersionUID field.
Without a serialVersionUID field, any change to the class will make previously serialized versions unreadable.
Example:
After the quick-fix is applied:
When using a language level of JDK 14 or higher, the quickfix will also add the java.io.Serial annotation.
Locating this inspection
- 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- Via Settings dialog
Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.
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
Serializablefrom a superclass but are not intended for serialization.Whether to ignore
Serializableanonymous classes.
Inspection ID: SerializableHasSerialVersionUIDField
Inspection options
Here you can find the description of settings available for the Serializable class without 'serialVersionUID' inspection, and the reference of their default values.
- Ignore subclasses of
Option ID:
superClassListDefault value:
[java.awt.Component]- Ignore anonymous classes
Option ID:
ignoreAnonymousInnerClassesDefault value:
Not selected
Suppressing Inspection
You can suppress this inspection by placing the following comment marker before the code fragment where you no longer want messages from this inspection to appear:
More detailed instructions as well as other ways and options that you have can be found in the product documentation:
Inspection Details | |
|---|---|
By default bundled with: |