我有这段代码:
String query = "a == someRandomWord && b != 2";
ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn");
SimpleBindings variables = new SimpleBindings();
variables.put("a", "someRandomWord");
variables.put("b", 1);
System.out.println(engine.eval(query, variables));
它给了我一个错误,因为我不允许将String作为参数传递。
如何将String对象与.eval()
函数进行比较?
答案 0 :(得分:2)
'yourString'
使用\"yourString\"
或String query = "a == 'someRandomWord' && b != 2";
(因为你需要在Java中转义它),例如。
p
或者:也提供a[0..4]
的绑定,如评论中所示。