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

参考: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 的函数的函数名。

我们人生中最大的懒惰,就是当我们明知自己拥有作出选择的能力,

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

相关文章:

你感兴趣的文章:

标签云: