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

标签 java

例如:

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

相关文章:

java - 这个字符串格式化程序行有什么问题?

java - 通知中的大量内存使用

Java 在突出显示的文本上选择文本

java - Spring Validator注释不起作用

java - 相同的java代码,两个.class文件的类加载问题?

java - Spock 中最终类的模拟实例在测试和开发代码中的行为不同

java - Android获取目录中的所有文件nullpointerException

java - 使用 BufferedReader 读取 java 中的特殊字符

java - 将 JFileChooser 与 Swing GUI 类和监听器一起使用

java - 使用Quick Fix J Engine接收消息时如何动态更改配置文件?