私はそのようにモデル化されたコードを持っています:
class A {
private transient Foo foo = new Foo();
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
in.defaultReadObject();
foo = new Foo();
}
}
class B extends A {}
foo
逆シリアル化中にトランジェントが初期化されるように、 readObject() を A に追加しました。しかし、コード内にブレークポイントをスタックしたところ、XStream が readObject() をまったく呼び出していないことがわかりました。また、A で initFoo() 関数を呼び出すクラス B に readObject() を貼り付けようとしましたが、それも機能しませんでした。
Web サイトの FAQ は、これが機能するために他のボイラープレートが必要であることを暗示しているようには見えません。なぜ呼び出されないのですか?