AExampleTestClass.java仅包含public String setence = "false";
在我正在运行的课程中有几种方法:
getPath(name) - 获取给定文件名的路径
getVariableNames(File) - 获取给定文件中的变量 和
change(classname,var,to) - 用于替换String“to”给出的类名中的变量。
现在我运行getPath("AExampleTestClass")
它返回正确的路径
C:\Users\..\test\AExampleTestClass.java
但是当我跑步时
getPath("AExampleTestClass").getClass()
它返回
class java.lang.String
所以当我使用getVariables时...它返回java.lang.String中不在AExampleTestClass.java中的变量
我可以用什么来从未知名称的类中访问未知名称的变量(类+变量名是字符串)?
答案 0 :(得分:0)
getClass()
返回您正在调用它的对象的类
当您在String
上调用它时,它始终会返回String.class
。
您想要ClassLoader.getSystemClassLoader().loadClass(...)
答案 1 :(得分:0)
当getPath
返回String
时,该方法会为该字符串调用getClass
方法。
您的代码与执行此操作相同:
String path = getPath("AExampleTestClass"); // returns a String with the path
path.getClass(); // returns String.class as expected