Boa noite!
Eu estou a tentar escrever no meu ArrayList os objectos que estão guardados num ficheiro .dat mas tenho este grande erro:
run:
Exception in thread “main” java.io.InvalidClassException: JogoSequencias.Base.Jogo; local class incompatible: stream classdesc serialVersionUID = 594955039495526892, local class serialVersionUID = -5083126069198387361
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1582)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
at java.util.ArrayList.readObject(ArrayList.java:593)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
at JogoSequencias.Base.Jogo.carregarJogos(Jogo.java:118)
at JogoSequencias.Interface.Main.main(Main.java:19)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)
O meu Código é este:
public static void loadGames() throws IOException, ClassNotFoundException{
JG.clear();
ObjectInputStream entrada = new ObjectInputStream(new FileInputStream("game.dat"));
JG = (ArrayList<Game>) entrada.readObject();//o erro está nesta linha
entrada.close();
}
Alguém me pode ajudar?
Obrigado pela atenção.
Cumprimentos