QLExpress对象比较规则表达式
最近刚接触到QLExpress组件,通过学习接触到很多规则表达式,下面简单分析一下如何用QLExpress脚本语言完成对象的比较。请看下面详细的代码:
public class CompareObjectTest {
@Test
public void test() throws Exception {
System.out.println('a' < 98);
ExpressRunner runner = new ExpressRunner();
String[] expList = new String[] {
"'a' < 'b'",
"'a' <= 'b'",
"'a' == 'a'",
"test == 'a'",
"test <= 'a'",
"'a' >= test",
};
DefaultContext<String, Object> context = new DefaultContext<>();
context.put("test", 'a' + 0);
for (String exp : expList) {
Object result = runner.execute(exp, context, null, true, false);
System.out.println(result);
assert ((Boolean)result);
}
}
}
这里我直接测试用QLExpress脚本语言完成,通过简单的运算符进行比较,测试结果如下:
由此可见,通过EXPress脚本语言进行对象的比较,可以提高执行效率,代码精简,依赖最小。