我得到以下序列化錯誤,我想讀我的目標,我保存到一個文件爲什麼這個類被捲入系列化
java.io.InvalidClassException: com.testGame.scoreCard; Incompatible class (SUID): com.testGame.scoreCard: static final long serialVersionUID =-5895378336422852901L; but expected com.testGame.scoreCard: static final long serialVersionUID =0L;
at java.io.ObjectInputStream.verifyAndInit(ObjectInputStream.java:2376)
at java.io.ObjectInputStream.readNewClassDesc(ObjectInputStream.java:1658)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:683)
at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1799)
at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1999)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1956)
但我不明白的是爲什麼記分卡首先序列化?我正在寫和讀的類(對象)是序列化的,不會調用或使用scoreCard類。爲什麼會抱怨那個班?有沒有辦法看到爲什麼這個記分卡參與? (我使用的Eclipse BTW)
謝謝
好點。我嘗試了它們,但仍無法找到連接。有沒有辦法我可以以某種方式調試這個,看到「變量/方法」是要求這個類? – Snake
@Snake從'ScoreCard'中移除'implements Serializable'並重新測試。當序列化「ScoreCard」的人試圖這樣做時,你現在將得到一個'NotSerializableException',並且堆棧跟蹤會告訴你這是誰。 – EJP
這是我沒有序列化的東西。當我測試沒有問題時,但是我從ACRA生產中的應用報告中得到這個錯誤 – Snake