我有一个 X 类,它有 say do 方法。
我还有另外两个类 A 和 B,其中创建了 X 的对象。
有什么方法可以查出 x 的 do() 是被 A 还是 B 调用。
我不想在 do() 方法中使用参数。有任何来自调用跟踪的信息吗?
我使用的是struts2,Spring。那么框架有什么帮助吗???
我想根据 do() 是从 A 还是 B 调用来实现一些逻辑。
最佳答案
嗯,是的,您可以使用 Thread.getCurrentThread().getStackTrace()
检索堆栈并阅读StackTraceElement
getClassName()
并与 A 或 B 匹配。(我试图想象一个场景,这比参数更可取并且出现空白,但是 YMMV...)
关于java - 基于谁是被调用者的逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11321689/