java - java中的序列化serialversionuid

标签 java

我只是想知道为什么我们在java中只采用long类型的serialVersionUID变量

`public static final long serialVersionUID = 1L;`

我的意思是我知道它是如何工作的+什么是序列化等。

但我只是想知道为什么我们只采用 long 原始类型?为什么不是 int 或任何其他类型?

像这样

 public static final int serialVersionUID = 1;

java规范告诉我们这样做吗?

最佳答案

引用 java.io.Serializable 的文档

A serializable class can declare its own serialVersionUID explicitly by declaring a field named "serialVersionUID" that must be static, final, and of type long.

所以是的,规范告诉我们使用 long。否则不会被识别为serialVersionUID。

关于java - java中的序列化serialversionuid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33474251/

相关文章:

java - 如果数据库出现错误,谁将在 spring jdbc 中抛出异常

java - Math.pow 和 Math.sqrt 公式返回值 0

java - 我如何继承系统的抗锯齿设置来像 swing 一样将文本绘制到屏幕外的图像上?

java - 在 for 循环中扫描输入

java - 是否有某种 'assertion' 覆盖工具(用于 Java)?

java - 加载和显示大文本文件

java - 如何使用 java aws sdk 创建 aws ec2 时提供实例的名称

java - 单击按钮时进入 for 循环

java - 如何用单个字符替换多组字符

java - 我可以在使用 Cordova 的 iOS 应用程序中使用 Java 库吗?