问题标签 [serialversionuid]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java 向后兼容性:readObject() 如何读取具有不同 serialVersionUID 的相同类名对象?
这个套接字将继续接收一些旧对象和同名的新对象。但是,如果我直接使用 readObject,它会抛出致命异常。我们中的一些人会建议忽略旧对象或更改旧对象代码。我无法更改客户端代码。我需要处理 向后兼容性。
在 readObject() 行,我得到了这个致命的异常:
java.io.InvalidClassException 本地类不兼容:流 classdesc serialVersionUID = 1,本地类 serialVersionUID = 2
我如何读取这两种 Apple 对象数据(Hashmap)?
谢谢你。
java - 为什么依赖 ObjectStreamClass.getSerialVersionUID 不安全?
java规范说:“强烈建议所有可序列化的类显式声明serialVersionUID值,因为默认的serialVersionUID计算对类细节高度敏感,可能因编译器实现而异”
请问有人可以深入研究吗?getSerialVersionUID() 方法是做反射的,反射无处不在,那么什么是编译器依赖呢?
java - 尝试忽略序列化对象的serialVersionUID(对象列表)时遇到“块数据意外结束”
我们已经序列化了一个对象列表(比如 ReportSetting)并作为字节数组字段保存到数据库中。但是我们没有在类中声明serialVersionUID之前和之后通过添加更多字段来更改类,我们显然得到了以下异常。
我们尝试使用以下代码重新定义ObjectInputStream的类描述符(此答案的信用),以避免反序列化对象时的 serialVersionUID 检查。
测试单元代码如下:
我们得到了以下异常:
ReportSetting类现在如下所示,isHistorical 字段及其 getter 和 setter 稍后将添加为serialVersionUID 5814220747992558303。
任何帮助表示赞赏
java - SerialVersion UID Java - SerialVersionUID 如何工作?
您好,我有一个关于SerialVersionUID
Java 的问题。如果我生成一个SerialVersionUID
for class A
,则 2 个实例A
具有相同的SerialVersion
about 类和另一个唯一的 Serial 对象,不同的 aboutobject1
和object2
? 或者怎么做?不明白,请回复我。谢谢。
java - java中默认和生成的串行版本uid有什么区别?
我不知道在哪里使用默认的 serialVersionUID 或在 java 中生成的 serialVersionUID ?
java - Eclipse 中的serialVersionUID 生成是否使用serialver?
Eclipse IDE 允许生成随机serialVersionUID
. 另一方面,JDK 中有一个工具serialver就是为此目的而设计的。
知道 Eclipse 是否真的在幕后调用 serialver 吗?
java - 是否可以向 Javac 指示多个目标目录?
我写了一个 Java 类 let A,它必须编译一次并保存在几个目录中(let Y 和 Z)。因此,编译后的文件在任何目录(Y 和 Z)中都将具有相同的SerialVersionUID(我需要它)。
我尝试使用,javac A.java -d Y -d Z
但它不起作用。
顺便说一句,我不能进行第一次编译然后复制(即:) javac A.java -d Y; cp Y/A.class Z
,因为SerialVersionUID会有所不同......
我该如何解决这个问题?
编辑:最终的解决方案是在 .java 文件中明确设置SerialVersionUID,但我想避免它。
android - serialVersionUID 添加到 JSON
我正在使用com.google.code.gson:gson:2.2.4
库使用代码将对象转换为 JSON:
并且在 JSON 字符串中,“serialVersionUID”会自动添加Long
值,即使它不在模型类中。我只想serialVersionUID
从 JSON 中删除。
java - 非编辑类中的 InvalidClassException
我收到此错误:
由于InCacheTranslationDelegateImpl类最近没有被编辑,我怎么会得到这样的错误?
java - serialversionUID 不匹配
我对 java 还很陌生,我有一个类Products
是Serializable
. 我不知道我做了什么,但我的程序停止工作并给了我这个错误:
我四处搜索并找到了声明它的方法,但这对我现在没有帮助。我什至打开了一个新项目,只是从非工作项目中复制每个类中的文本并将其粘贴到新项目中,但我仍然遇到同样的错误。我在我的所有项目中都遇到了这个错误(他们使用同一个Serializable
类)我需要知道我做了什么来做到这一点,这样它就不会再次发生,以及我能做些什么来解决它。我已经尝试过声明serialversionUID
,但没有奏效。
产品类别