如何获取包含函数的名称

时间:2014-01-31 09:16:30

标签: java

在C ++中,您可以使用__FUNCTION_NAME__获取包含__FUNCTION_NAME__的函数的名称。

Java中是否存在等价物?在Java中,可以可以使用this和反射做一些事情。是否有更简单的东西?

2 个答案:

答案 0 :(得分:0)

  

Thread.currentThread()。的getStackTrace()   通常会包含你从中调用它的方法但存在缺陷

http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/StackTraceElement.html

答案 1 :(得分:0)

Thread.currentThread().getStackTrace()[ste.length - 1 - depth].getMethodName();

depth = 0(零)将给出当前方法

System.out.println((new Throwable()).getStackTrace()[0].toString());

示例输出:

com.junk.Junk3.main(Junk3.java:12)