У меня есть этот классnotserializableexception для объекта, чей класс реализует Serializable
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)
Любая помощь будет приветствовать.
EDIT: Я проверил, что HashMap уже реализует сериализуемое.
является объектом 'obj' типа' wordObject'? Ошибка говорит, что она появилась из 'searchTAemd' –
, это выглядит идеально сериализуемым. Вы уверены, что obj является экземпляром wordObject. – ManojGumber
Я только что проверил это с obj = new wordObject ("foo", 3); он работает без ошибок ... obj должен ссылаться на другой тип, который не является сериализуемым. – Adam