Why does serialization require a serial version UID in implemented class?
From the doc for java.ioSerializable:
java.ioSerializable
The serialization runtime associates with each serializable class a version number, called a serialVersionUID, which is used during deserialization to verify that the sender and receiver of a serialized object have loaded classes for that object that are compatible with respect to serialization. If the receiver has loaded a class for the object that has a different serialVersionUID than that of the corresponding sender's class, then deserialization will result in an InvalidClassException. A serializable class can declare its own serialVersionUID explicitly by declaring a field named "serialVersionUID" that must be static, final, and of type long
InvalidClassException
"serialVersionUID"
2.1m questions
2.1m answers
60 comments
57.0k users