如何在java方法中获得当前方法的名称

Python018

如何在java方法中获得当前方法的名称,第1张

在java方法中获得当前方法的名称方法:

一、获得当前类名:

Java代码

this.getClass().getName()

二、获得当前方法名臣:

JDK1.4

Java代码

new   Exception().getStackTrace()[i].getMethodName()//其中i   =   0就是当前的类的方法名字 i   ==   1就是调用者的方法

JDK1.5之后可用

Java代码

Thread.currentThread().getStackTrace()[1].getMethodName()//具体使用数组的那个元素和JVM的实现有关,我在SUN JDK6下面测试的是第二个元素,具体说明可以查看Thread.getStackTrace方法的javadoc

package test

import java.lang.reflect.Method

public class TTT {

public static void main(String[] args) {

Class c = Test.class

Method[] methods =c.getDeclaredMethods()

for (Method method : methods) {

System.out.print("方法的返回值"+method.getReturnType().getName())

System.out.print(" 方法名:"+method.getName()+"(")

Class[] paraTypes = method.getParameterTypes()

for (Class class1 : paraTypes) {

System.out.print("参数类型:"+class1.getSimpleName()+",")

}

System.out.println(")")

}

}

}

class Test

{

public void say(String word)

{

System.out.println(word)

}

public void say(String word,int n)

{

for(int i=0i<ni++){

System.out.println(word)

}

}

}

===============

方法的返回值void 方法名:say(参数类型:String,)

方法的返回值void 方法名:say(参数类型:String,参数类型:int,)