首頁 >Java >java教程 >如何使用堆疊追蹤或反射查找方法的呼叫者?

如何使用堆疊追蹤或反射查找方法的呼叫者?

Susan Sarandon
Susan Sarandon原創
2024-12-23 07:17:19338瀏覽

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

使用 Stacktrace 或 Reflection 尋找方法呼叫者

問題:如何使用 stacktrace 或 Reflection 決定方法的呼叫者反射?

答案:

取得呼叫者資訊:

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

根據文檔,陣列的最後一個元素代表堆疊,指示序列中最舊的方法調用。

每個 StackTraceElement都提供方法例如:

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

要確定呼叫者的詳細信息,請嘗試不同的數組索引。通常,stackTraceElements[1] 或 [2] 應提供所需的資訊。

以上是如何使用堆疊追蹤或反射查找方法的呼叫者?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn