Inspectopedia Help

Transient field is not initialized on deserialization

Reports transient fields that are initialized during normal object construction, but whose class does not have a readObject method.

As transient fields are not serialized they need to be initialized separately in a readObject() method during deserialization.

Any transient fields that are not initialized during normal object construction are considered to use the default initialization and are not reported by this inspection.

Example:

class Person implements Serializable { transient String name = "Default"; //warning, can actually be a null after deserialization transient String surname; //null is considered the default value and not reported }

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023