java.io.InvalidClassException:
com.sungymobile.cache.resource.ResourceCacheLoader$ResourceCache;
local class incompatible: stream classdesc serialVersionUID = 6381106003702990139,
local class serialVersionUID = 3777451853403693248
问问题
2175 次
1 回答
0
似乎,你有一个序列化的类,它不提供固定的序列版本参数。您必须提供:
private static final long serialVersionUID = 0L;
在您的类中使用任何 long 值,必须对其进行缓存。由于 Java Docs for Serializable 接口:
序列化运行时与每个可序列化类关联一个版本号,称为 serialVersionUID,在反序列化期间使用该版本号来验证序列化对象的发送方和接收方是否已加载与序列化兼容的该对象的类。如果接收者为对象加载了一个类,该对象的 serialVersionUID 与相应发送者的类不同,则反序列化将导致 InvalidClassException。可序列化的类可以通过声明一个名为“serialVersionUID”的字段来显式声明自己的serialVersionUID,该字段必须是静态的、最终的和long类型:
需要这个值来确定,缓存的实例是否与当前类的版本相同,你有。
于 2015-10-08T10:43:01.367 回答