Heim >Java >javaLernprogramm >Wie kann ich den Aufrufer einer Methode mithilfe von Stack Trace oder Reflection finden?

Wie kann ich den Aufrufer einer Methode mithilfe von Stack Trace oder Reflection finden?

Susan Sarandon
Susan SarandonOriginal
2024-12-23 07:17:19340Durchsuche

How Can I Find a Method's Caller Using Stack Trace or Reflection?

Methodenaufrufer mithilfe von Stacktrace oder Reflection finden

Frage: Wie kann ich den Aufrufer einer Methode mithilfe von Stacktrace oder Reflection ermitteln?

Antwort:

Um die zu erhalten Informationen zum Aufrufer:

StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();

Laut Dokumentation stellt das letzte Element des Arrays das Ende des Stapels dar und gibt den ältesten Methodenaufruf in der Sequenz an.

Jedes StackTraceElement stellt Methoden bereit wie:

  • getClassName()
  • getFileName()
  • getLineNumber()
  • getMethodName()

Experimentieren Sie mit verschiedenen Array-Indizes, um die Details des Anrufers zu ermitteln. Normalerweise sollte stackTraceElements[1] oder [2] die gewünschten Informationen bereitstellen.

Das obige ist der detaillierte Inhalt vonWie kann ich den Aufrufer einer Methode mithilfe von Stack Trace oder Reflection finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn