我需要转储na对象的整个结构,其中包含它的所有属性和对象的值。如何以递归方式转储Java对象和对象中的所有属性?
我无法在转储对象中执行toString()
,因为它们大多数都是自动生成的代码。
我想我可以使用来自Apache Commons的ReflectionToStringBuilder
和RecursiveToStringStyle
,但是对于我所有的尝试,我所得到的只是层次结构的第一层。
这是我试过,例如:
System.out.println(new ReflectionToStringBuilder.toString(someObject, new RecursiveToStringStyle()));
我怎样才能使这项工作?
RecursiveToStringStyle的javadoc显示它是递归的例子。你能给我一个你正在寻找什么和/或RecursiveToStringStyle不起作用的例子吗? – omajid
@omajid,该示例演示如何使用它来实现自己的'toString()'。由于该类是自动生成的,因此我无法更改它的'toString()'实现。 “ToStringBuilder”起作用并似乎对递归转储有支持,所以我猜测这只是正确调用它的问题。 – lpacheco