私はclass X
を持っていて、その中にdoStuff()
というstatic
というメソッドがあり、なんらかの理由でdoStuff()
を呼び出すメソッドを持ついくつかのクラスがあります。たとえば、doStuff()
に印刷メソッドを持たせて、それが呼び出されたメソッドやクラスを出力する方法はありますか?静的メソッドを呼び出すクラスとメソッドを取得するにはどうすればよいですか?
1
A
答えて
4
はい:new Throwable().getStackTrace()
はStackTraceElement
の配列を返します。インデックス番号1があなたの発信者です。
+1
+1または 'Thread.currentThread()。getStackTrace()' –
+0
ありがとうございましたが、私が使ったインデックスは3でした。インデックス1は私に名前クラスAとdoStuff()のクラス – nyxz
0
力Exception
を行う必要はありません。この類似した質問をチェック:
package test;
class TestCaller {
public static void meth() {
System.out.println("Called by class: " + sun.reflect.Reflection.getCallerClass(2));
}
}
public class Main {
public static void main(String[] args) {
TestCaller.meth();
}
}
出力: "クラスによって呼び出されます:クラスtest.Main"
Is there a way to dump a stack trace without throwing an exception in java?
2
/**
* <li> 0 dumpThreads
* <li> 1 getStackTrace
* <li> 2 getCallingMethodName
* <li> 3 [calling method]
*
* @return
*/
private String getCallingMethodName() {
return Thread.currentThread().getStackTrace()[3].getMethodName();
}
1
を使用して、発信者のクラスを取得することができます
関連する問題
- 1. クラスで静的メソッドを呼び出す?
- 2. 変数クラスで静的メソッドを呼び出すにはどうすればよいですか?
- 3. 静的メソッド内でクラスのメンバー変数を呼び出すにはどうすればよいですか?
- 4. 静的クラスC#ASP.NET Webフォームで静的メソッドを呼び出す
- 5. リフレクション(Java)を使用してプライベート静的メソッドを呼び出すにはどうすればよいですか?
- 6. Javaで静的メソッドを呼び出す
- 7. ヌルオブジェクトで静的メソッドを呼び出す
- 8. 静的メソッド呼び出しの左側のクラスを取得しますか?
- 9. 静的メソッドを呼び出すユニットテストコード
- 10. 静的メソッドで非静的GetType()を呼び出しますか?
- 11. サブクラスの静的メソッドを親クラスから呼び出す
- 12. 静的メソッド呼び出し
- 13. C#で静的メソッドを呼び出すとどうなりますか?
- 14. Reflection:静的メソッドで呼び出しオブジェクトを取得
- 15. メソッド内のメソッドを呼び出す変数を使用するにはどうすればよいですか?
- 16. backgroundWorkerの外部クラスから呼び出されたメソッドからフォーム上のメソッドを呼び出すにはどうすればよいですか?
- 17. インスタンスのみを持つクラスの静的メソッドを呼び出す
- 18. XAML経由で静的クラス内の静的メソッドを呼び出す
- 19. 動的オブジェクトのメソッドを動的に呼び出すにはどうすればよいですか?
- 20. CakePHPのモデルでbeforeSave()メソッドから 'log()'メソッドを呼び出すにはどうすればよいですか?
- 21. 呼び出す静的メソッドを動的に決定する
- 22. 他のクラスの静的メソッドを呼び出す
- 23. PHP:クラス名なしの静的メソッドを呼び出す
- 24. 静的変数をPHPの別のクラスで呼び出すにはどうすればよいですか?
- 25. iOSの別のクラスからView Controllerメソッドを呼び出すにはどうすればよいですか?
- 26. 呼び出すメソッドと呼ばれるメソッドとは何ですか?
- 27. JavaからScalaオブジェクトのメソッドを反射的に呼び出すにはどうすればよいですか?
- 28. 静的サブクラスの静的メソッドを呼び出す際のNullPointerException
- 29. 親からオーバーライドされた静的メソッドを呼び出す
- 30. ASMXから静的メソッドを呼び出す落とし穴
「をドンください。これをやってください! (可能であれば、デバッグを除いてもテストはおそらくもっと良いでしょう) –