我只想知道为什么我们只在java中使用long类型的serialVersionUID变量
`public static final long serialVersionUID = 1L;`
我的意思是我知道它是如何工作的+什么是序列化等。
但我很想知道为什么我们只采取长原始类型?为什么不是int或任何其他类型?
像这样 public static final int serialVersionUID = 1;
java规范是否告诉我们这样做?
答案 0 :(得分:3)
可序列化类可以显式声明自己的serialVersionUID 通过声明一个名为“serialVersionUID”的字段必须是静态的, final,和long long 。
所以是规范告诉我们使用long。否则,它将不会被识别为serialVersionUID。