Salve Ragazzi ho un problema con la Serializzazione, ho creato una classe Oggetto che implementa serializable che al suo interno contiene una lista di carte dove la carta è a sua volta serializabile, se deserializzo con objectOutpustream e faccio il cast mi da classcastexception, se invece serializzo e deserializzo la lista di carte senza utilizzare la Classe Oggetto non mi da nessun errore perchè?l'intenzione e quella di salvare tutte le liste e altri vari parametri booleani e stringe in un oggetto serializzabile però non capisco perchè mi da class cast exception, da che dipende?
codice:
Oggetto ods=new Oggetto(carteMazzo);
scrivi(ods);
leggi();
public class Oggetto implements Serializable{
private LinkedList<Carta> carte;
public Oggetto(LinkedList<Carta> carte){
this.carte=carte;
}
public LinkedList<Carta> getCarte() {
return carte;
}
}
public void leggi(){
ObjectInputStream ois=null;
try {
ois=new ObjectInputStream(new FileInputStream("txt/dati.dat"));
}catch(FileNotFoundException f){
System.out.println("file non trovato");
}catch(IOException e) {}
LinkedList<Carta> corrente=null;
try{
corrente=(LinkedList<Carta>) ois.readObject();
}catch(FileNotFoundException f){
System.out.println("file non trovato");
}catch(IOException e) {}
catch (ClassNotFoundException e) {
e.printStackTrace();
}
System.out.println(corrente.toString());
}
public void scrivi(LinkedList<Carta>ods){
FileOutputStream fout=null;
ObjectOutputStream out=null;
try {
fout=new FileOutputStream("txt/dati.dat");
}
catch(IOException e) {}
try {
out=new ObjectOutputStream(fout);
}
catch(FileNotFoundException f){
System.out.println("file non trovato");
}
catch(IOException e) {}
try {
out.writeObject(ods);
}
catch(IOException e) {}
try {
out.close();
}
catch(IOException e) {}
}