java中如何獲得一個方法的呼叫深度?
阿新 • • 發佈:2018-12-20
函式: Thread.currentThread().getStackTrace();
作用:獲得在同一個執行緒,方法呼叫的深度。
案例:
public class DemoTest { public static void main(String[] args) { test4(); } public static void test2() { StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace(); System.out.println("棧長度:"+stackTrace.length); for (StackTraceElement stackTraceElement : stackTrace) { System.out.println("方法名: "+stackTraceElement.getMethodName()+ " 類名: "+stackTraceElement.getFileName()); } } public static void test3() { test2(); } public static void test4() { test3(); } }
執行結果: