다음과 같은 load()/save() 함수를 사용하여 직렬화하려고하는 Expression 클래스가 있습니다. 잘 작동하려면, 코드와 Expression 클래스를 약간 변경 한 후에 in.readObject()
을 호출하면 ClassCastException
이 throw됩니다. 오류 메시지는 다음과 같습니다 java.lang.ClassCastException가가 : java.lang.String의 날에를 java.io.ObjectStreamClassJava Serializable failure
0
A
답변
0
캐스트 할 수없는,이 String으로 바이너리 데이터를 저장하는 아주 나쁜 느낀다. 보다 안정적인 방법으로 ObjectOutputStream의 바이너리 출력을 저장하려고합니다. 문자열 형식의 접근 방식을 계속 사용하려면 Base64 인코딩을 사용해보십시오. 항상 안전합니다. 이 UID가 클래스 경로의 클래스가와 호환되는지 확인하는 데 사용됩니다
private static final long serialVersionUID = 3L;
: 나는 문제로 볼 수 있습니다 무엇
는 정적 상수로 serialUID 직접 정의이다 입력 객체의 클래스. 그래서 내가 의심하는 것은 serialVersionUID를 변경하지 않고 클래스를 수정 한 것입니다. 즉, ObjectInputStream은 그것이 호환성이 있다고 생각하지만, 여전히 이전 데이터로 작업하고 있습니다. 이전 데이터를 없애고 새로운 save()
호출로 다시 시작하십시오.
당신은
Input
뿐만 아니라 직렬화 있는지 확인이 있습니까? 그 클래스의 UID가 손상되지 않았습니까?
0
클래스 멤버의 필드에서 NULL 값이 직렬화 가능으로 보이지 않습니다. 모든 클래스 멤버가 실제 메모리를 가지고 있는지 확인하면 실패하지 않습니다.
관련 문제
- 1. Java Serializable
- 2. java serializable NotSerializableException
- 3. Java Serializable : serialVersionUID의 중요성?
- 4. java jar 파일에서 MDB에 연결 File - Failure
- 5. assertRises failure
- 6. Java/Serializable - 변경된 객체 만 덮어 쓰기
- 7. Serializable 인터페이스의 DTO 구현
- 8. android Serializable
- 9. Serializable 클래스
- 10. Serializable java.lang.Locale
- 11. Serializable 상속
- 12. 예외, Return, Serializable,
- 13. Memcache get() failure
- 14. CodeIgniter base_url() failure
- 15. facebook puzzle submission failure
- 16. asp.net javascript redirect failure
- 17. iad failure ios6
- 18. Inno Setup StringChangeEx Failure
- 19. jquery submit failure
- 20. stdout silent failure
- 21. iPhone Ad Hoc Failure
- 22. complete IE failure - jquery
- 23. rebol esmtp failure?
- 24. IntelliJ Failure [INSTALL_FAILED_MISSING_SHARED_LIBRARY]
- 25. ProtectedData.Protect intermittent failure
- 26. rdsserver.datafactory converttostring failure
- 27. SWFObject addParam failure
- 28. Capistrano 's Failure
- 29. 은 C#에서 [Serializable]과 [Serializable()] 사이에 차이가 있습니까?
- 30. Sql server 2008 installation failure
Android Java 개발에서 뭔가 다른 것이 아니라면이 객체에 대해 사용자 고유의 직렬화 알고리즘을 구현해야 할 필요는 없다고 생각합니다. 내가 놓친 게 있니? – thatidiotguy
저장된 직렬화 된 개체를로드하려고합니까? Expression 클래스 정의를 변경하기 전에? – femtoRgon
이전에 저장된 내용이 삭제되었습니다. @thatidiotguy 내 알고리즘을 구현한다는 것은 무엇을 의미합니까? 메신저 그냥 Serializable 구현 추가. – aviran