En Java, c'est une méthode pour obtenir le nom de la classe ou de la méthode en cours d'exécution. Comme il n'utilise que la bibliothèque standard, vous pouvez la copier et la coller immédiatement.
Example.java
public class Example {
public static void main(final String[] args) {
final String className = new Object(){}.getClass().getEnclosingClass().getName();
System.out.println(className);
}
}
production
Example
Example.java
public class Example {
public static void main(final String[] args) {
final String className = Thread.currentThread().getStackTrace()[1].getClassName();
System.out.println(className);
}
}
production
Example
Util.java
public class Util {
/**
*Obtient le nom de la classe en cours d'exécution.
* @retourne le nom de la classe
*/
public static String getClassName() {
return Thread.currentThread().getStackTrace()[2].getClassName();
}
}
UtilTest.java
public class UtilTest {
public static void main(final String[] args) {
final String className = Util.getClassName();
System.out.println(className);
}
}
production
UtilTest
Example.java
public class Example {
public static void main(final String[] args) {
final String methodName = new Object(){}.getClass().getEnclosingMethod().getName();
System.out.println(methodName);
}
}
production
main
Example.java
public class Example {
public static void main(final String[] args) {
final String methodName = Thread.currentThread().getStackTrace()[1].getMethodName();
System.out.println(methodName);
}
}
production
main
Util.java
public class Util {
/**
*Obtient le nom de la méthode en cours d'exécution.
* @nom de la méthode de retour
*/
public static String getMethodName() {
return Thread.currentThread().getStackTrace()[2].getMethodName();
}
}
UtilTest.java
public class UtilTest {
public static void main(final String[] args) {
final String methodName = Util.getMethodName();
System.out.println(methodName);
}
}
production
main
Recommended Posts