让我们假设a
,b
是整数,和宠物是HashMap<String, Integer>
MVEL表达不评估正确时预编译
类型的当我预编译下面的表达式中,pets.containsKey(\"Dogs\")
节点是CompiledExpression对象内部空。
CompiledExpression compiledExpression = new ExpressionCompiler("a > 0 && b > 0 && pets.containsKey(\"Dogs\")").compile();
return (boolean) MVEL.executeExpression(compiledExpression, params);
然而,当我这样做
boolean res = (boolean) MVEL.eval("a > 0 && b > 0 && pets.containsKey(\"Dogs\")", params);
它工作得很好,我也得到适当的响应。
有什么办法可以预编译一个包含哈希表的对象的表达式吗?
而不是硬编码参数,你可以用一个'地图<字符串,对象>',请参阅答案您正在使用哪个版本的发布 – Saravana