Ich habe diese Klassenotserializableexception für ein Objekt, dessen Klasse implementiert 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];
}
}
Aber wenn ich versuche, eine Instanz der Klasse auf die Platte zu schreiben, ein Stück Code wie unten angegeben
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);
ich erhalte diesen Fehler
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)
Jede Hilfe wird sehr willkommen.
EDIT: Ich habe überprüft, dass HashMap bereits Serializable implementiert.
ist 'obj' ein Objekt vom Typ' wordObject'? Der Fehler sagt, dass es von 'searchTAemd' kam –
das sieht perfekt serializable. Sind Sie sicher, dass das Obj eine Instanz von wordObject ist? – ManojGumber
Ich habe das gerade mit obj = new wordObject ("foo", 3) getestet; es funktioniert ohne Fehler ... obj muss einen anderen Typ referenzieren, der nicht serialisierbar ist. – Adam