我有一个经典的情况,一个对象被序列化到数据库,现在当我尝试反序列化它时,我得到一个SerializationException: could not deserialize
。
现在我的挑战是这个代码安装在可能具有不同serialVersionUID
值的各个客户处,因此将其覆盖到报告的本地类值不是解决方案。
我的问题是,如果提供readObject方法会禁用serialVersionUID检查,还是仍然会检查它?
如果readObject禁用了serialVersionUID的检查,那么这就足够了:
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
in.defaultReadObject();
}