例如:
>String str="index==1";
>int index=1;
>if(str)
> System.out.println("1");
我的意思是“if”将使用“str”的值作为参数,并打印“1”。
我试图寻找答案但没有找到
非常感谢!!
最佳答案
Java 无法执行这种“eval”函数,但有一种方法可以在 java 中使用 javascript 通过“ScriptEngineManager”返回“eval”的结果:
import javax.script.*;
String str="index==1";
int index = 1;
try {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
engine.put("index", index); //set index as variable in js
engine.put("str", str);//set str as variable in js
Boolean result = (Boolean) engine.eval("result = eval(str)"); //eval function
System.out.println("=>" + result); //boolean as result
if(result) System.out.println("1");
} catch (Exception e){e.printStackTrace();}
关于java - 如何使用字符串值作为参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48132277/