【发布时间】:2014-02-18 10:29:06
【问题描述】:
有 3 种方式来定义 serialVersionUID :
1. private static final long serialVersionUID = 1L; (Default)
2. private static final long serialVersionUID = -8940196742313994740L; (Generated)
3. Don't define serialVersionUID and let the JVM define it at runtime. @Lance Java
但我不明白第一种方式!
我已经看到,有人在源代码中为所有 java 类定义了“serialVersionUID=1L”。
什么意思?有用吗?
如果所有类都有相同的serialVersionUID 1L,没有问题吗?
【问题讨论】:
-
实际值无关紧要,重要的是,当对类进行不兼容的更改时,您会更改它。看这里:stackoverflow.com/questions/3284979/…
-
serialVersionUID 分配给什么通常无关紧要。
-
@Rhys 这个说法确实太笼统了。
-
好问题。任何其他语言使用这样的功能?
-
注意,还有第三种选择。不要定义
serialVersionUID,让JVM在运行时定义。
标签: java