• getStackTrace()
// 获取调用者信息的方法
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");
    }

results matching ""

    No results matching ""