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