// 获取调用者信息的方法
public void test() {
// 通过堆栈信息获取调用当前方法的类名和方法名
String className = "";
String methodName = "";
Class clazz = null;
StackTraceElement[] elements = new Throwable().getStackTrace();
for (int i = 0; i < elements.length; i++){
if (this.getClass().getName().equals(elements[i].getClassName())){
// 获取堆栈的下一个元素,就是调用者元素
// 如果想要获取当前方法所在类的信息,直接读取elements[i]就可以了
className = elements[i + 1].getClassName();
methodName = elements[i + 1].getMethodName();
break;
}
}
System.out.println(className + "." + methodName + "\n");
}