这可能是一个狡猾的问题,但我仍在寻求答案。我编写了一个程序,我使用Eclipse IDE生成串行版本ID。但我的项目负责人坚持要我只使用1L而不是在Serializable接口的情况下生成串行版本ID。请建议我哪个更好。在实现Serializable接口时,最好使用1L或生成串行版本ID。这两者有什么区别吗?是否有任何性能影响?
提前做好准备。答案 0 :(得分:2)
这完全取决于理由。如果使用1L 且从未更改(当更改序列化兼容性时),那么您就会遇到问题(很可能是序列化协议损坏)。如果1L用作第一个版本,然后根据需要手动增加,那就没关系了。只要维护得当,该版本的实际值并不重要(除非极少数情况除外)。
答案 1 :(得分:0)
还有第三种选择:用
注释你的班级@SuppressWarnings("serial")
创建serialVersionUID
字段设置为'1`:
使用专门为此情况设计的注释,而不是创建无用的代码,其唯一的目的是抑制警告。