質問と呼ばれる質問オブジェクトのArrayListをファイルに書き込んだ後、ファイルを読み取ろうとしています。 とjava.lang.ClassCastException:ファイルからオブジェクトを読み取るClassCastExceptionエラー
私の問題は、私は、ファイルを読んでいるとき、それは私に言うエラーを与えることであるjava.lang.Stringでは
Quiz.loadでの質問にキャストすることはできませんマイ質問は、なぜこの問題が発生しているのですか、どのように修正できますか?私は多くのチュートリアルを読んできました。クラス名にオブジェクトをキャストしていますが、これは私が行ったことです。私は、保存機能&を保存しました。
インサイドクイズクラス:
書き込みオブジェクトがファイル
ArrayList<Question> readQuestions = new ArrayList<>();
FileInputStream fis = new FileInputStream(filename);
ObjectInputStream ois = new ObjectInputStream(fis);
System.out.print("QUIZ LOADING...");
readQuestions.add((Question)ois.readObject()); //problem occurs
完全にシンプルです。あなたは文字列をシリアライズし、それを質問として逆シリアル化しようとしました。実際にファイルを生成するために実際に実行されたコードではありません。これは、このコードが空のArrayListを直列化する以外は何もしないという事実によってさらに証明されます。あなたのコードがArrayListをシリアライズしますが、質問としてデシリアライズしようとしますが、これは意味をなさないことで証明されます。実際のコードを投稿することをお勧めします。 – EJP
こんにちはEJP、ありがとう、ちょっとコードを投稿します。私はそれもGUIのものがあり、それはあまりにも長いので、私はそれを変更します。 – HaiHey
@EJPあなたはこの最近のものを意味しますか?以前に投稿したものにはスキャナとインポートが含まれていなかったので、追加しました。フルコードにはGUIがあり、NetBeansのドラッグ&ドロップを使ってコードを自動生成するので、非常に長いです。この現在のコードは端末でコンパイル/実行できますが、それでもまだそのClassCastExceptionが表示されています – HaiHey