27 votes

Comment trouver le nom de la méthode à partir de cette méthode en Java?

Je me demandais s'il y avait un moyen de connaître le nom de la méthode en cours d'exécution ?

Par exemple, à l'intérieur d'une private void doSomething (String s) méthode, j'aimerais savoir que j'exécute la méthode doSomething (String s).

66voto

RealHowTo Points 13117

Depuis JDK1.5, vous n'avez pas besoin d'une Exception pour obtenir la StackTrace,
vous pouvez l'obtenir avec Thread.currentThread().getStackTrace()]:

   public class Test2 {
     public static void main(String args[]) {
        new Test2().doit();
     }
     public void doit() {
        System.out.println(
           Thread.currentThread().getStackTrace()[1].getMethodName()); // sortie : doit
     }
   }

10voto

Jigar Joshi Points 116533
System.out.println(new Exception().getStackTrace()[0].getMethodName());

Voir aussi

-2voto

Greg Youree Points 1
Méthode lastMethodCalled = this.getClass().getEnclosingMethod();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X