Java 对象序列化:serialVersionUID 相同,能否反序列化成不同类型?
Java 对象序列化中,serialVersionUID 是用来标识序列化对象的版本号。当对象被序列化时,该版本号会被写入序列化数据流中。当反序列化时,会比较该版本号和当前类的版本号是否一致,如果不一致,就会抛出 InvalidClassException 异常。
这是因为不同版本的类可能会有不同的字段和方法,反序列化可能会出现问题。因此,即使对象 A 和对象 B 的 serialVersionUID 一致,但它们的类定义可能不同,反序列化时会根据类定义来进行反序列化,所以不能将 A 的值反序列化成 B。
原文地址: https://www.cveoy.top/t/topic/lFcE 著作权归作者所有。请勿转载和采集!