什么是串行版本ID?

重复什么是serialVersionUID,为什么我应该使用它?

现在使用Eclipse进行一些Java工作。 我的班级名称以黄色下划线标出。 我可以抑制警告或只是添加frickin序列号。

我不在乎任何方式(或者我应该?),但是这个序列号究竟是什么?

谢谢


它与Java序列化有关。

当一个类的字段发生变化时,您不能再反序列化该类的其他版本。 如果你尝试,Java会抛出异常。

然而,有时领域的变化并不重要,你想说“反序列化”。 要做到这一点,你需要定义这个序列号。 现在Java将使用该数字而不是反射来决定您的类定义是否“不同”。

最后,你可以通过定义你自己的序列化函数来解决所有这些问题,事实上很多倡导者坚持认为你应该这样做。

链接地址: http://www.djcxy.com/p/23833.html

上一篇: what is a serial version id?

下一篇: static final long serialVersionUID = 1L