如何以递归方式转储Java对象及其中对象的所有属性?

时间:2017-04-17 21:48:05

标签: java tostring apache-commons

我需要转储na对象的整个结构,包含其所有属性的值以及由它组成的对象的值。

我无法在转储对象中实现toString(),因为大多数都是自动生成的代码。

我认为我可以使用来自Apache Commons的ReflectionToStringBuilderRecursiveToStringStyle,但是对于我所有的尝试,我得到的只是层次结构的第一层。

这就是我尝试过的,例如:

System.out.println(new ReflectionToStringBuilder.toString(someObject, new RecursiveToStringStyle()));

我该如何做到这一点?

1 个答案:

答案 0 :(得分:0)

使用反射获取顶级对象的所有属性,使用递归为每个作为属性返回的对象重复此过程。

如果对象的某个父项存储在属性中,请注意不要陷入无限循环。