如何从另一个方法获取方法的局部变量 class
how to get local variables of a method from another class
我有两个 classes A 和 B
class 包含一个具有一些局部变量的方法。
现在我想在 B class 中获取特定变量的数据类型。
你能帮我解决这个问题吗?
我研究了 java 反射。但我发现我无法通过使用反射来实现这一点,因为局部变量在运行时存储在堆栈中。反射只能获取实例或 class 变量。
for example,
class A{
method1(){
variable1;
}
}
class B{
method 2(){
fetch variable1;
}
}
结果我想要variable1的数据类型
有什么方法可以使用模拟或其他方法来实现吗?
感谢您的支持。
我自己找到了答案。
我可以通过 Java 正则表达式概念来做到这一点。
正如我对变量的命名模式略有了解,
所以我打算解析 class1.java 文件,首先尝试匹配方法名称的模式,然后是变量名称。
这样我就可以得到声明变量的那一行。
例如,如果我的变量是对象,
字符串 abc=new String();
我会尝试正则表达式,例如 String regex=".=new.().*"
所以这将实现我的目的。
再次感谢您的帮助。
我有两个 classes A 和 B class 包含一个具有一些局部变量的方法。 现在我想在 B class 中获取特定变量的数据类型。 你能帮我解决这个问题吗?
我研究了 java 反射。但我发现我无法通过使用反射来实现这一点,因为局部变量在运行时存储在堆栈中。反射只能获取实例或 class 变量。
for example,
class A{
method1(){
variable1;
}
}
class B{
method 2(){
fetch variable1;
}
}
结果我想要variable1的数据类型
有什么方法可以使用模拟或其他方法来实现吗?
感谢您的支持。 我自己找到了答案。 我可以通过 Java 正则表达式概念来做到这一点。 正如我对变量的命名模式略有了解, 所以我打算解析 class1.java 文件,首先尝试匹配方法名称的模式,然后是变量名称。 这样我就可以得到声明变量的那一行。 例如,如果我的变量是对象, 字符串 abc=new String();
我会尝试正则表达式,例如 String regex=".=new.().*"
所以这将实现我的目的。 再次感谢您的帮助。