拿到当前被调用代码所在的类名

来源:互联网 发布:淘宝上的冬木古雨 编辑:程序博客网 时间:2024/05/14 03:18
Thread.currentThread().getStackTrace()[1].getClassName()

代码中的 [ 1 ] 可能会让人比较疑惑:为什么是 1 呢?

看debug截图:

这里写图片描述

这其实就是一个典型的栈,对应着jvm内存模型中的方法栈,栈的最上方是当前被调用的栈帧,也就是getStackTrace() 方法,那么它下面的一个栈帧自然就是调用它的代码位置了,也就是当前类调用 Thread.currentThread.getStackTrace() 的地方。

0 0