有没有办法覆盖java系统类的serialVersionUID?
错误示例: java.io.InvalidClassException:java.util.Date;本地类不兼容:流classdesc serialVersionUID = 7523895402267505689,本地类serialVersionUID = 7523967970034938905
客户端和服务器有不同版本的java。但因为我知道类是相同的,所以我希望能够使用序列化。
最佳答案
Q&A的第一个答案彼得·牛顿发现了一种很有前途的方法。基本上,示例代码重载了从流中读取类描述符并调整串行版本 ID 的方法。如果您要对多个类执行此操作,则需要相应地调整代码。
但请注意,这是一件相当危险的事情。如果传输的类表示不兼容,您可能会在没有任何警告的情况下得到损坏的对象。
关于java - 覆盖系统类的serialVersionUID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9457782/