スタックトレースまたはリフレクションを使用してメソッドの呼び出し元を見つけるにはどうすればいいですか? 質問する

スタックトレースまたはリフレクションを使用してメソッドの呼び出し元を見つけるにはどうすればいいですか? 質問する

メソッドの呼び出し元を見つける必要があります。スタック トレースまたはリフレクションを使用して可能ですか?

ベストアンサー1

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

Javadoc によると:

配列の最後の要素はスタックの一番下、つまりシーケンス内で最も古いメソッド呼び出しを表します。

Aには、、およびがStackTraceElementあります。getClassName()getFileName()getLineNumber()getMethodName()

どちらのインデックスが必要かを判断するには、実験してみる必要があります (おそらくstackTraceElements[1]または[2])。

おすすめ記事