我只是想知道为什么我们在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/