private static final long serialVersionUID = 1L;

来源:互联网 发布:世界十大推理小说 知乎 编辑:程序博客网 时间:2024/05/17 03:50

private static final long serialVersionUID = 1L; 

我们在看一些基础或框架相关的jar包的时候会发现,实现序列化接口的类,都会加上上面这句,目的是为了解决jdk编译版本兼容的问题。如果用1.5编译的jar包,放到1.6下没有这句就会报错,有这句就不会报错。

在实际我们自己开发的项目中,有时不添加也没问题,是因为我们项目开发实施时,实施环境与开发环境jdk版本一致,所以不会存在编译版本不兼容的问题。

如果确保实施环境与开发环境一致呢?

如果现场的jdk升级,我们就将自己的IDE的集成开发环境中的jdk升级,将项目在高版本jdk下又编译了一遍并进行了相关开发工作,最后将编译好的程序拿去实施


最后总结:

添加private static final long serialVersionUID = 1L; 是有必要的,添加之后即使本地开发环境与现场实施环境不一致,也不会出问题。