Java 在函数中获取当前函数的函数名

来源:互联网 发布:Js代码高亮 编辑:程序博客网 时间:2024/05/17 01:09

参考:http://stackoverflow.com/a/10992439


【代码】


public class Test {    private String getMethodName() {    StackTraceElement[] stacktrace = Thread.currentThread().getStackTrace();        StackTraceElement e = stacktrace[2];        String methodName = e.getMethodName();        return methodName;    }        public void getXXX() {        String methodName = getMethodName();        System.out.println(methodName);    }        public void getYYY() {        String methodName = getMethodName();        System.out.println(methodName);    }    public static void main(String[] args) {Test test = new Test();test.getXXX();test.getYYY();}}

【运行结果】


getXXXgetYYY


【注意】


代码第5行,stacktrace[0].getMethodName() 是 getStackTrace,stacktrace[1].getMethodName() 是 getMethodName,stacktrace[2].getMethodName() 才是调用 getMethodName 的函数的函数名。


0 0