解決できない非常に苦痛なパズルを扱っています...単一のオブジェクトをシリアル化/逆シリアル化することはできましたが、現時点では行き詰まっています。その理由は、私がオブジェクトのArrayListを操作していて、それを理解できないためです...これまでのところ、FootballClub.serというファイルに書き込むことができました。以下のこれは私の最善の試みですが、私は得ます
スレッド「main」の例外java.lang.ClassCastException:java.util.ArrayListをFootballClubNLにキャストできません
public class FootballClubFileWriter {
private static final String filename_1 = "FootballClub.ser";
private static final String filename_2 = "FootballClub.txt"; //Use for question 5
public static void serializeToDisk(ArrayList<FootballClubNL> clubs) throws IOException {
FileOutputStream fos = new FileOutputStream(filename_1);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(clubs);
fos.close();
oos.close();
}
public static ArrayList<FootballClubNL> deserializeFromDisk()throws IOException, ClassNotFoundException {
ArrayList<FootballClubNL> desrializaedClubs = new ArrayList<FootballClubNL>();
FileInputStream fileIn = new FileInputStream("FootballClub.ser");
ObjectInputStream in = new ObjectInputStream(fileIn);
FootballClubNL club = (FootballClubNL)in.readObject();
return desrializaedClubs;
}
}
をシリアル化しましたList
が、に逆シリアル化しFootballClubNL
ます。この行を変更するだけです
FootballClubNL club = (FootballClubNL)in.readObject();
に
desrializaedClubs = (ArrayList<FootballClubNL>)in.readObject();
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加