私は変更できないクラスのオブジェクトを持っています。循環依存関係を持つ既存のJavaオブジェクトをシリアライズ
オブジェクトには循環依存があります。
オブジェクトをシリアル化したいですが、ライブラリにあるように、Javaソースコードにアクセスできません。
C++では、サブクラスを作成して仮想メソッドをオーバーライドし、次にキャストして目的の動作を得ることができました。 Javaではこれは不可能です。
新しいPOJOクラスを作成し、すべてのフィールドを手作業でコピーする以外に、どのようなオプションがありますか?
、ご質問に対する解決策は離れグーグルであることを意味します。 –
いいえ、そうではありません... –
リフレクションを使用して、すべてのフィールドを再帰的にコピーし、サイクルを解決するために「IdentityHashMap」を使用することができます。しかし、私は確信している、誰かがすでにそれをした:https://stackoverflow.com/a/5294224/581205 – maaartinus