提问人:User1512 提问时间:9/12/2023 最后编辑:User1512 更新时间:9/12/2023 访问量:56
在 Java 中动态评估逻辑运算 AND、OR、NOT
Evaluating Logical Operations AND, OR, NOT dynamically in Java
问:
我需要使用 Java 代码为输入数据 (Map) 执行动态表达式。 例如
条件 -
EmployeeShift = 'General' AND (EmployeeType = 'CONTRACT' OR Designation IN 'ADMIN')
这个表达式将作为字符串变量传递,有了这个,我必须评估我在运行时出现的输入数据。所以我正在寻找一个解析器来解析条件。
使用 @Tagir Valeev 的答案 - 流帖子上的堆栈,我能够解析 AND、OR 操作。但我不确定如何将其扩展为 NOT 操作。我希望像下面这样工作,其中表达式检查 EmployeeType 和 Designation 的组合 NOT 操作,而不是检查每个变量。
EmployeeShift = 'General' AND NOT(EmployeeType = 'CONTRACT' OR Designation IN 'ADMIN')
任何关于如何做的例子或线索都将有巨大的帮助。提前致谢。
答: 暂无答案
评论
java.util.function.Predicate