使用 nashorn 比较 java 中的字符串查询
Compare string query in java using nashorn
我有这个代码:
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 对象与 .eval()
函数?
String query = "a == p && a != 2";
^^^
this is not a string but a variable
使用 'yourString'
或 \"yourString\"
(因为您需要在 Java 中转义它),例如
String query = "a == 'someRandomWord' && b != 2";
或者:还按照评论中的建议为 p
提供绑定。
我有这个代码:
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 对象与 .eval()
函数?
String query = "a == p && a != 2";
^^^
this is not a string but a variable
使用 'yourString'
或 \"yourString\"
(因为您需要在 Java 中转义它),例如
String query = "a == 'someRandomWord' && b != 2";
或者:还按照评论中的建议为 p
提供绑定。