gpt4 book ai didi

java - 通过添加静态方法来更改可序列化类,java

转载 作者:行者123 更新时间:2023-12-01 19:06:36 27 4
gpt4 key购买 nike

向类添加静态方法后,我的可序列化类无法使用 objectinputstream 读取,这是预期的行为吗? javadoc 中的哪个位置声明向可序列化类添加静态方法会导致不兼容?

最佳答案

在 Java 对象序列化规范中,4.6 部分:

The stream-unique identifier is a 64-bit hash of the class name, interface class names, methods, and fields.

...

For each non-private method sorted by method name and signature:

  • The name of the method.
  • The modifiers of the method written as a 32-bit integer.
  • The descriptor of the method.

不,我也无法弄清楚它实际上如何破坏序列化状态的兼容性,但这就是为什么值得避免默认的 Java 二进制序列化(例如 Protocol Buffers )< em>或者总是自己声明一个serialVersionUid

关于java - 通过添加静态方法来更改可序列化类,java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9846634/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com