打印当前调用者类
以下打印当前调用者类。请注意,在这种情况下, StackWalker
需要与选项创建 RETAIN_CLASS_REFERENCE
,使 Class
实例保留在 StackFrame
对象。否则会发生异常。
public class StackWalkerExample {
public static void main(String[] args) {
FooHelper.foo();
}
}
class FooHelper {
protected static void foo() {
BarHelper.bar();
}
}
class BarHelper {
protected static void bar() {
System.out.println(StackWalker.getInstance(Option.RETAIN_CLASS_REFERENCE).getCallerClass());
}
}
输出:
class test.FooHelper