代碼邏輯較爲複雜時,我們很難通過讀代碼的方式理清執行順序,這時打出方法調用的堆棧信息,可以幫助我們理清從執行順序,類似於捕獲異常時的 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());
}