naオブジェクトの構造全体と、そのすべてのプロパティと、それが構成するオブジェクトの値をダンプする必要があります。Javaオブジェクトとそのオブジェクトのすべてのプロパティを再帰的にダンプするにはどうすればよいですか?
ほとんどが自動生成されたコードなので、ダンプされたオブジェクトにはtoString()
を実装できません。
私は、Apache CommonsのReflectionToStringBuilder
とRecursiveToStringStyle
を使用できると思っていましたが、私が得たすべての試みはすべて、最初のレベルの階層です。
これは、例えば、私が試したものです:
System.out.println(new ReflectionToStringBuilder.toString(someObject, new RecursiveToStringStyle()));
は、どのように私はこの作業を行うことができますか?
RecursiveToStringStyleのjavadocsは、それが再帰的であることを示しています。 RecursiveToStringStyleがどのように機能しないのか、あなたが探しているものの例を教えてください。 – omajid
@omajid、このサンプルは、独自の 'toString()'を実装するための使い方を示しています。クラスは自動生成されるので、 'toString()'の実装を変更することはできません。 'ToStringBuilder'は動作し、再帰的にダンプをサポートするように見えるので、正しく呼び出すことに過ぎないと思います。 – lpacheco