0
ObjectOutputStream
を使用してファイルに移入されたツリーを書き込もうとしていますが、java.io.NotSerializableException
を取得しています。ここで カスタムのリンクリスト(ツリー)オブジェクトに対してJava Serializableインターフェイスを実装するにはどうすればよいですか?
// build Huffman trie
HuffNode root = buildTrie(freq);
try{
FileOutputStream saveFile=new FileOutputStream("SaveObj.sav");
ObjectOutputStream save = new ObjectOutputStream(saveFile);
save.writeObject(root);
save.close();
} catch(Exception exc){
exc.printStackTrace();
}
は私のツリークラス
private class HuffNode implements Comparable<HuffNode> , Serializable {
private final char ch;
private final int freq;
private final HuffNode left, right;
HuffNode(char ch, int freq, HuffNode left, HuffNode right) {
this.ch = ch;
this.freq = freq;
this.left = left;
this.right = right;
}
// is the node a leaf node?
private boolean isLeaf() {
assert ((left == null) && (right == null)) || ((left != null) && (right != null));
return (left == null) && (right == null);
}
// compare, based on frequency
public int compareTo(HuffNode that) {
return this.freq - that.freq;
}}
連載が動作しないのはなぜですか?
通常、NotSerializableExceptionには、発生したクラスがシリアル化可能ではないことを示すメッセージが表示されます。あなたは完全なエラーメッセージを投稿できますか? –