Comment obtenir le nom d'une classe / méthode exécutée en Java

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.

Obtenir le nom de la classe

Obtenu à partir de la classe d'exécution

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

Obtenir de la trace de pile

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

Méthodisation

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

Obtenir le nom de la méthode

Obtenu à partir de la classe d'exécution

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

Obtenir de la trace de pile

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

Méthodisation

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

Comment obtenir le nom d'une classe / méthode exécutée en Java
Comment obtenir la date avec Java
Comment obtenir le nom de classe de l'argument de LoggerFactory.getLogger lors de l'utilisation de SLF4J en Java
Comment obtenir une classe depuis Element en Java
Comment obtenir le chemin absolu d'un répertoire s'exécutant en Java
Comment nommer des variables en Java
[Java] Comment utiliser la classe File
[Java] Comment utiliser la méthode toString ()
[Java] Comment obtenir le répertoire actuel
[Traitement × Java] Comment utiliser la classe
[Java] Comment utiliser la classe Calendar
Comment obtenir la longueur d'un fichier audio avec Java
Comment obtenir les informations d'identification Keycloak dans la classe d'intercepteur
Quand tu te perds dans le nom de la classe
Comment utiliser la méthode replace () (Java Silver)
[Java] Comment obtenir l'URL redirigée finale
[Java] Comment accéder au début d'une chaîne spécifique à l'aide de la classe String
Comment référencer une colonne lors du remplacement de la méthode de nom de colonne dans ActiveRecord
Comment créer votre propre annotation en Java et obtenir la valeur
Comment obtenir une liste de noms de feuilles Excel en Java (POI vs SAX)
Comment utiliser la classe Java
[Java] Comment obtenir l'URL de la source de transition
[Java] Comment omettre le constructeur privé dans Lombok
Obtenez le nom du scénario de test dans la classe de test JUnit
[Java] Comment extraire le nom du fichier du chemin
[Java] Comment obtenir la valeur maximale de HashMap
Source utilisée pour obtenir l'URL de la source de redirection en Java
Pourquoi la méthode get est nécessaire dans la classe Calendar
graphql-ruby: Comment obtenir le nom de la requête ou de la mutation dans le contrôleur Remarque
Comment utiliser la méthode link_to
Comment utiliser la méthode getter / setter (en orientation objet)
Comment utiliser HttpClient de Java (Get)
Comment utiliser la méthode include?
Comment utiliser la méthode form_with
Comment désassembler un fichier de classe Java
[Java] Comment utiliser la méthode de jointure
Comment utiliser la classe wrapper
[Java] Comment obtenir la clé et la valeur stockées dans Map par traitement itératif
[Android, Java] Méthode pratique pour calculer la différence en jours
Comment apprendre JAVA en 7 jours
Comment obtenir des paramètres dans Spark
Comment décompiler un fichier de classe Java
Créer une méthode pour renvoyer le taux de taxe en Java
Comment utiliser les méthodes de classe [Java]
Comment utiliser les classes en Java?
Comment dériver le dernier jour du mois en Java
Comment changer Java à l'ère d'OpenJDK sur Mac
[Java] Comment utiliser la classe Math
Comment concaténer des chaînes avec Java
Appelez la super méthode en Java
[Java] Obtenez des informations sur la date 10 jours plus tard en utilisant la milliseconde dans la classe Date
Comment obtenir l'identifiant de la clé PRIMAY incrémentée automatiquement dans MyBatis
Comment stocker les informations saisies dans la zone de texte dans une variable de la méthode
Comment résoudre l'erreur inconnue apparue lors de l'utilisation de slf4j en Java