Inspectopedia Help

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; } }

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.

SerializableInnerClassHasSerialVersionUIDField
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.

Settings or Preferences | Editor | Inspections | Java | Serialization issues

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

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.

Ignore subclasses of

[java.awt.Component]

Ignore anonymous classes

Not selected

Availability

By default bundled with

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin

Java, 241.18072

Last modified: 18 June 2024