在方法內,得到自己方法的名稱
public class TestMyMethod {
public static void main(String[] args) {
TestMyMethod test = new TestMyMethod();
test.myMethod();
test.myMethod2();
}
// jdk 1.4 & jdk 1.5
private void myMethod() {
System.out.println(new Exception().getStackTrace()[0].getMethodName());
}
// jdk 1.5
private void myMethod2() {
String currentMethod = "";
StackTraceElement[] elmts = Thread.currentThread().getStackTrace();
for ( int i = 0; i < elmts.length; i++ ) {
if ( elmts[i].getMethodName().equals("getStackTrace") ) {
currentMethod = elmts[ i+1 ].getMethodName();
break;
}
}
System.out.println(currentMethod);
}
}
Posted at 07:42上午 六月 01, 2008 by shooeugenesea in Java | 迴響[0]