如何评估java变量?我有几个字符串 String q1,q2,q3,q4,q5
for(i=1;i1<=5;i++){
//evaluate the value of q1,q2,q3,q4,q5
system.out.println(q+i); //should print q1,q2,q3,q4,q5 values concurrently
}
请帮我。
如何评估java变量?我有几个字符串 String q1,q2,q3,q4,q5
for(i=1;i1<=5;i++){
//evaluate the value of q1,q2,q3,q4,q5
system.out.println(q+i); //should print q1,q2,q3,q4,q5 values concurrently
}
请帮我。
使用数组:
String[] q = {q1, q2, q3, q4, q5};
for (String s : q)
System.out.println(s);
我相信他指的是来自 flash 的 actionscript 和 javascript 的 eval 函数。
有了它,您可以执行以下操作
for (i = 1; i <= 4; i++){
eval("func" + i + "( )");
}
它将调用 func1()、func2()、func3()、func4()。同样,您可以使用字符串变量来执行此操作。
您不能在 Java 中执行此操作,如果您觉得必须使用 for 循环打印这些单独的变量,那么您最好的选择是Eugene 的答案,即首先将它们放入数组中。
编辑:我正在输入我的答案,并没有注意到拉文德的答案。感谢您的参考。我以前从未使用过 ScriptEngine,因此必须检查一下。
您可以使用 java 反射来检查类中定义的字段。
例如Class.getField(String)
看来您正Java
试图eval
在JavaScript
.
如果是,那么在 Java 中使用 eval 的答案可能会对您有所帮助。
此代码无法编译,您尝试打印的内容是变量 q 的值,随着 i 的值递增。没有 q,你也不想要 i 的值。
请改用 Eugene Retunsky 的解决方案。