私が持っているこのクラス持つ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