Getting Name of Current Method inside a method in Java
- Java.lang.Class.getEnclosingMethod()- The java.lang.Class.getEnclosingMethod() returns a Method object representing the immediately enclosing method of the underlying class.
- StackTraceElement.getMethodName()-The java.lang.StackTraceElement.getMethodName() method returns the name of the method containing the execution point represented by this stack trace element.
- Thread.currentThread().getStackTrace()- Call Thread.currentThread().getStackTrace(). The second element, [1], is the your method call getStackTrace(); [0] is getStackTrace(). Then call its getMethodName() method to get the name of your method.
package com.javainuse;
public class TestGetMethodName {
public static void main(String args[]) {
getMethodNameUsingClassInstance();
getMethodNameUsingStackTraceElement();
getMethodNameUsingCurrentThread();
}
//Get method name using Java.lang.Class.getEnclosingMethod()
public static void getMethodNameUsingClassInstance() {
String methodNameUsingClassInstance =
new TestGetMethodName() {}.getClass().getEnclosingMethod().getName();
System.out.println("Current Method Execution Name Using Class Instance - " +
methodNameUsingClassInstance);
}
//Get method name using StackTraceElement.getMethodName()
public static void getMethodNameUsingStackTraceElement() {
StackTraceElement stackTraceElements[] = (new Throwable()).getStackTrace();
System.out.println("Current Method Execution Name Using StackTraceElement - " +
stackTraceElements[0].getMethodName());
}
//Get method name using Thread.currentThread().getStackTrace()
public static void getMethodNameUsingCurrentThread() {
System.out.println("Current Method Execution Name using Current Thread - " +
Thread.currentThread().getStackTrace()[1].getMethodName());
}
}
Download Source Code
Download it - Get Current Execution MethodSee Also
Understand Java 8 Method References using Simple Example Java - PermGen space vs MetaSpace Java 8 Lambda Expression- Hello World Example Java 8 Features Java Miscelleneous Topics Java Basic Topics Java- Main Menu