呼び出し元の ID を明らかにする: スタックトレースまたはリフレクションを利用する
Java プログラミングの迷宮の領域では、メソッドの呼び出し元の ID を明らかにすることで、貴重な。スタックトレースとリフレクションは、この調査行程の潜在的なツールとして登場します。
スタックトレースの活用
メソッド呼び出しの記録であるスタックトレースは、呼び出し元の隠れ家へのロードマップを提供します。 Thread.currentThread().getStackTrace() を単純に呼び出すと、StackTraceElement オブジェクトの配列が返されます。この配列の各要素はメソッド呼び出しを表し、最後の要素は最新の呼び出し元を示します。
StackTraceElement オブジェクトの getClassName()、getFileName()、getLineNumber()、および getMethodName() プロパティを検査することによって必要なインデックス (多くの場合、stackTraceElements[1] または stackTraceElements[2] が呼び出し元の情報を提供します) で、呼び出し元の情報を明らかにできます。
反射の力を解き放つ
あるいは、反射によって発信者の玄関口までの別のルートを提供することもできます。リフレクションを使用すると、実行時にクラス、メソッド、その他のオブジェクトをイントロスペクトして操作できます。リフレクションを利用するには、問題のメソッドに関連付けられた java.lang.reflect.Method オブジェクトで getStackTrace() メソッドを呼び出す必要があります。
この代替アプローチでは、前のメソッドよりも包括的なスタックトレースが生成されます。 、通話履歴に関する大量の詳細が提供されます。ただし、リフレクションは実装が多少複雑になる可能性があり、パフォーマンスに影響を与える可能性があるため、この方法に着手する前にメリットとデメリットを慎重に検討してください。
以上がStacktrace または Reflection を使用して Java メソッドの呼び出し元を特定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。