如何评估java变量? 我的字符串很少 字符串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
}
请帮帮我。
答案 0 :(得分:7)
使用数组:
String[] q = {q1, q2, q3, q4, q5};
for (String s : q)
System.out.println(s);
答案 1 :(得分:1)
我相信他指的是flash的actionscript和javascript中的eval函数。
有了它,你可以做像
这样的事情for (i = 1; i <= 4; i++){
eval("func" + i + "( )");
}
哪个会调用func1(),func2(),func3(),func4()。类似地,您可以使用字符串变量执行此操作。
你不能用Java做到这一点,如果你觉得必须用for循环打印这些单独的变量,那么你最好的选择是Eugene's answer将它们放在数组中。
编辑: 我正在输入我的答案而没有注意到Ravinder的答案。谢谢你的参考。我以前从未使用过ScriptEngine而且必须检查它。
答案 2 :(得分:0)
您可以使用java反射来检查类中的已定义字段。
例如Class.getField(String)
答案 3 :(得分:0)
此代码无法编译,您尝试打印的是变量q的值,以i的值递增。没有q,你不想要i的值。
使用Eugene Retunsky的解决方案。
答案 4 :(得分:0)
您似乎正试图在Java
中找到eval
相当于JavaScript
的功能。
如果是,using eval in Java的答案可能会对您有所帮助。