我有一个看似简单的问题,我在大约一周的搜索中找不到解决方案,所以我想我会问。我想取一个数组值,比如anArray[1]
并将其设置为等于另一个类中的变量... otherClass.variableOne
这很容易做到,但我希望能够使用变量作为我想要变量的类的名称。所以不是“otherClass.variableOne”而是我想要的东西:
String classVar = "otherClass";
anArray[1]=classVar.variableOne;
我不确定我是否需要将classVar设置为类似...... className(otherClass)
之类的东西。我是Java的新手,我遇到了很大困难。
我知道这看起来很愚蠢,但这对我想做的事情是必要的。我已经研究过反思,但它似乎无法做我需要的事情。基本上我的问题是:
String classVar = "otherClass";
anArray[1]=classVar.variableOne
我如何制作类似的东西,其中classVar是一个引用包含public static int variableOne的类的变量?
请原谅有限的编程经验。 任何帮助是极大的赞赏。 提前谢谢。
答案 0 :(得分:1)
您需要使用the Reflection API。您可以使用它来获取表示“OtherClass”的Class
变量(例如,Class.forName("com.example.OtherClass"
),然后浏览其字段和方法,甚至创建它的新实例。
答案 1 :(得分:0)
我不确定我是否强烈理解你的问题,如果我的答案没有用,请原谅。如果您只需要分配public static int variableOne
的值,那么您可以通过以静态方式访问变量来完成此操作。以static
方式访问变量意味着只需使用classname.staticVariable来获取变量值。我相信这就是你所需要的:
anArray[1]=OtherClassName.variableOne
将ClassName和variableName替换为您的实际类名和变量名。
阅读本文以了解有关类和实例变量的更多信息:http://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html