是否有一个库将以递归方式转储/打印对象属性?我正在寻找类似于Firebug中的console.dir()函数的东西.
我知道commons-lang ReflectionToStringBuilder但它没有递归到一个对象.即,如果我运行以下内容:
public class ToString {
public static void main(String [] args) {
System.out.println(ReflectionToStringBuilder.toString(new Outer(), ToStringStyle.MULTI_LINE_STYLE));
}
private static class Outer {
private int intValue = 5;
private Inner innerValue = new Inner();
}
private static class Inner {
private String stringValue = "foo";
}
}
Run Code Online (Sandbox Code Playgroud)
我收到:
ToString $ Outer @ 1b67f74 [intValue = 5
innerValue = ToString $ Inner @ 530daa]
我意识到在我的例子中,我可以覆盖Inner的toString()方法,但在现实世界中,我正在处理我无法修改的外部对象.