代码逻辑较为复杂时,我们很难通过读代码的方式理清执行顺序,这时打出方法调用的堆栈信息,可以帮助我们理清从执行顺序,类似于捕获异常时的 e.printStackTrace();
如:打印出TestUtil中getAge()方法的堆栈
代码:
StackTraceElement stack[] = Thread.currentThread().getStackTrace();
for (int i = 0; i < stack.length; i++) {
System.out.println("类路径:"+stack[i].getClassName() );
System.out.println("方法名:" + stack[i].getMethodName());
System.out.println("调用行号:"+stack[i].getLineNumber());
}