分享

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

 quasiceo 2014-12-06
2014-08-22 09:51 133人阅读 评论(0) 收藏 举报

参考:http:///a/10992439


【代码】


  1. public class Test {  
  2.   
  3.     private String getMethodName() {  
  4.         StackTraceElement[] stacktrace = Thread.currentThread().getStackTrace();  
  5.         StackTraceElement e = stacktrace[2];  
  6.         String methodName = e.getMethodName();  
  7.         return methodName;  
  8.     }  
  9.       
  10.     public void getXXX() {  
  11.         String methodName = getMethodName();  
  12.         System.out.println(methodName);  
  13.     }  
  14.       
  15.     public void getYYY() {  
  16.         String methodName = getMethodName();  
  17.         System.out.println(methodName);  
  18.     }  
  19.       
  20.     public static void main(String[] args) {  
  21.         Test test = new Test();  
  22.         test.getXXX();  
  23.         test.getYYY();  
  24.     }  
  25. }  

【运行结果】


  1. getXXX  
  2. getYYY  


【注意】


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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多