首页 > 解决方案 > 如何从另一个类中获取方法的局部变量

问题描述

我有两个类 A 和 B 一个类包含一个具有一些局部变量的方法。现在我想在 B 类中获取特定变量的数据类型。你能帮我解决这个问题吗?

我研究了java反射。但是我发现我无法通过使用反射来实现这一点,因为局部变量在运行时存储在堆栈中。而反射只能获取实例或类变量。

for example,

class A{
     method1(){
         variable1;
     }
}
class B{
      method 2(){
           fetch variable1;
       }
}

结果,我想要 variable1 的数据类型。

有没有办法使用模拟或其他方法来实现它?

标签: javamethodsreflectionlocal-variables

解决方案


谢谢你的支持。我自己找到了答案。我可以通过 Java Regex Concept 做到这一点。由于我对变量的命名模式了解一点,所以我打算解析 class1.java 文件,首先尝试模式匹配方法名称,然后是变量名称。这样我就会得到声明变量的行。例如,如果我的变量是对象,String abc=new String();

我会尝试正则表达式,例如 String regex=". =new. ().*"

所以这将实现我的目的。再次感谢您的帮助。


推荐阅读