Why serialVersionUID should be defined for Object serialization,
For entity classes that implement the java. io. Serializable interface, serialVersionUID is often manually declared, because if you implement serialization, java will add a serialVersionUID to the object class by default.
By default, the added serialVersionUID varies according to the changes in the member (member variable, member method) of the object class.
Why should I declare a serialVersionUID?
After the object class is serialized locally, if the object class members change, the added serialVersionUID will change by default. In this case, the serialVersionUID of the serialized object on the hard disk is not the same as the serialVersionUID in the object class, and an exception occurs during deserialization:
Exception in thread "main" java. io. InvalidClassException: Person; local class incompatible: stream classdesc serialVersionUID = 8383901821872620925, local class serialVersionUID =-763618247875550322
Therefore, SerialVersionUID is manually declared for entity classes that implement the serialVersionUID interface.
Private static final long serialVersionUID = 1L;
The above code can be used.