2tlin
@2tlin
Увлекаюсь Python и Web-программированием

Как узнать имя вызывающего метода через рефлексию в Java?

Нужно написать функцию, которая бы вернула полное имя класса и имя вызывающей функции в процессе выполнения. Полное имя класса я получаю, а как использовать получаемые с помощью .getDeclaredMethods() данные для определения имени вызывающего метода, не знаю.

Class<?> c = new Object() { }.getClass().getEnclosingClass(); // объект нужного класса
String nameFullleClass = c.getName(); // полное имя класса
Method[] methods = c.getDeclaredMethods(); // массив с именами всех методов
  • Вопрос задан
  • 682 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
StackTraceElement ste = Thread.currentThread().getStackTrace()[2];
System.out.printf("%s.%s()", ste.getClassName(), ste.getMethodName());
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Bell Integrator Ульяновск
До 400 000 ₽
Bell Integrator Ижевск
До 400 000 ₽
Bell Integrator Хабаровск
До 400 000 ₽
29 мар. 2024, в 10:00
10000 руб./за проект
29 мар. 2024, в 09:59
750 руб./в час
29 мар. 2024, в 09:55
50000 руб./за проект