내가 가진이 클래스가지는 NotSerializableException가 구현 직렬화
public class wordObject implements java.io.Serializable
{
String wordName;
int occCount;
int count;
HashMap<Integer, Double> lineDict;
int[] mat;
public wordObject(String name,int num)
{
wordName = name;
occCount=1;
count = num;
lineDict=new HashMap<Integer,Double>(lineC);
mat = new int[lineC];
}
}
하지만 코드 조각을 사용하여 디스크에 클래스의 인스턴스를 작성하려고 할 때
public static writeObj(WordObject obj)
FileOutputStream f_out = new FileOutputStream(loc);
// Write object with ObjectOutputStream
ObjectOutputStream obj_out = new ObjectOutputStream (f_out);
// Write object out to disk,obj is instance of wordObject
obj_out.writeObject (obj);
아래에 주어진
는이 오류를
Exception in thread "main" java.io.NotSerializableException: searchTAemd
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
어떤 도움이 가장 환영받을 것를 얻을.
편집 : HashMap에 이미 직렬화가 구현되어 있는지 확인했습니다.
은'obj'는'wordObject' 유형의 객체입니까? 오류는'searchTAemd'에서 나온 것이라고 –
완벽하게 직렬화가 가능합니다. obj가 wordObject의 인스턴스인지 확인 하시겠습니까? – ManojGumber
방금 obj = new wordObject ("foo", 3)로 테스트했습니다. 그것은 오류없이 작동 ... obj 직렬화 할 수없는 다른 형식을 참조해야합니다. – Adam