int index=1; >if(str) > System.out.println("1"); 我的意思是“if”将使用-6ren">
gpt4 book ai didi

java - 如何使用字符串值作为参数?

转载 作者:行者123 更新时间:2023-12-02 11:46:57 30 4
gpt4 key购买 nike

例如:

>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/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com