提供されたLinkedListクラスを使用したくないので、カスタムリンクリストを作成しました。javaカスタムのリンクリストをシリアライズ
:問題は、/書き込みオブジェクトfucntionsにを読んで、私は別のSOあなたは以下のようなカスタムのシリアル化を使用する必要があることポストから見た私は、デフォルトでこのオブジェクトをシリアル化するときに発生することがあり、スタックオーバーフローの問題の心配だということです私はクラスが、それがnullではないでしょう読んだとき、私は、ヘッダフィールドの過渡を作ったので、
MyClass{
transient Node header;
private void writeObject(ObjectOutputStream out) throws IOException {
out.defaultWriteObject();
for (Entry e = header.next; e != header; e = e.next)
out.writeObject(e.element);
}
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
in.defaultReadObject();
}
}
これは、ノードクラス私は疑問に思ってどのようにこれまで
Node{
transient Node next;
transient Node prev;
private void writeObject(ObjectOutputStream out) throws IOException {
out.defaultWriteObject();
for (Entry e = header.next; e != header; e = e.next)
out.writeObject(e.element);
}
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
in.defaultReadObject();
}
}
のですか?どのようにヘッダノードを参照するようにするのですか...
ノードと同じです。なぜなら、次のフィールドと前のフィールドは、オブジェクトを読み込むと一時的なフィールドなので、フィールドはnullになります。
ライブラリを見ていただきありがとうございます。本当に良いアイデアです! –