QLExpress对象比较规则表达式

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脚本语言进行对象的比较,可以提高执行效率,代码精简,依赖最小。


版权声明:本文为wsgodlike原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。