질문이라는 Question 객체의 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
완벽하게 간단합니다. 당신은 문자열을 직렬화하고 그것을 질문으로 역 직렬화하려고했습니다. 분명히 이것은 파일을 생성하기 위해 실제로 실행 된 코드가 아닙니다. 이것은,이 코드가 빈 상태 (empty)의 ArrayList를 직렬화하는 것 외에는 아무것도 실시하지 않는 것에 의해 추가로 증명됩니다. 당신의 코드가 ArrayList를 직렬화하지만 질문으로 역 직렬화하려고한다는 사실에 의해 * 더 입증됩니다. 그것은 이해가되지 않습니다. 실제 코드를 게시하는 것이 좋습니다. – EJP
안녕하세요 EJP, 감사합니다. 코드를 게시합니다. 나는 GUI를 가지고 있기 때문에 그것을 수정할 것이고 너무 길다. – HaiHey
@EJP이 최근의 것을 의미합니까? 전에 게시 한 스캐너 및 가져 오기가 없으므로 방금 추가했습니다. 전체 코드에는 GUI가 있으며 NetBeans의 드래그 앤 드롭을 사용하여 코드를 자동 생성하므로 매우 오래되었습니다. 이 현재 코드는 터미널에서 컴파일/실행될 수 있으며 여전히 ClassCastException을 보여줍니다. – HaiHey