0

私が持っているのは、XMLからのマーシャリングされていないJavaオブジェクトです。このマーシャリングされていないオブジェクトの一部は、処理のためにさまざまなクラスに送信されます。マーシャリングされていないオブジェクトの内容をログに記録する必要があります。メソッドを簡単にオーバーライドできますtoString()が、問題は、この場合、クラスはxjcを使用してビルド時に生成され、再度生成されると削除されるため、これらのクラスのtoString()をオーバーライドできないことです。

内容を印刷するための他の方法を探しています。何か案が ?

4

4 に答える 4

2

xjcプラグインを使用して、必要なtoStringを生成できます。

于 2012-01-25T01:23:03.940 に答える
1

toString()マーシャリングには使用しないでください。それは意図したものではありません。(そのメソッドのjava.lang.Object目的に関するガイドについては、javadocs を参照してください。)

toString()手動でマーシャリング/アンマーシャリングを実装することに決めたとしても、この目的で使用しようとすべきではありません。

于 2012-01-25T01:46:21.623 に答える
0

リフレクションを使用してオブジェクトを検査し、その文字列表現を(必要な形式で)返すか、文字列表現を直接ログに記録するユーティリティクラスを作成できます。

于 2012-01-25T01:18:54.290 に答える
0

非整列化された Java オブジェクトを取得し、リフレクションを使用してその文字列表現を提供するヘルパー クラスを作成します。xsd と非整列化されたコンテンツを知っているため、リフレクションを使用したくない場合は、それらをハードコーディングできます。

于 2012-01-25T20:16:40.023 に答える