0
java.io.InvalidClassException:
com.sungymobile.cache.resource.ResourceCacheLoader$ResourceCache; 
local class incompatible: stream classdesc serialVersionUID = 6381106003702990139, 
local class serialVersionUID = 3777451853403693248
4

1 に答える 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 に答える