自学内容网 自学内容网

Liquor Java 表达式引擎基本使用

引入依赖

<dependency>
    <groupId>org.noear</groupId>
    <artifactId>liquor-eval</artifactId>
    <version>1.3.1</version>
</dependency>

Liquor Java 表达式支持 java 所有的类型、所有语法(比如泛型,lambda 表达式)。因为,它是基于 java 动态编译器及缓存构建的。

常量表达式计算演示

// 数学运算 (Long)
Integer result = (Integer) Exprs.eval("1+2+3");
System.out.println(result); // 6

// 数学运算 (Double)
Double result2 = (Double) Exprs.eval("1.1+2.2+3.3");
System.out.println(result2); // 6.6


// 包含关系运算和逻辑运算
System.out.println(Exprs.eval("(1>0||0<1)&&1!=0")); // true


// 三元运算
System.out.println(Exprs.eval("4 > 3 ? \"4 > 3\" : 999")); // 4 > 3

变量表达式计算演示

Map<String, Object> context = new HashMap<>();
context.put("a", 1);
context.put("b", 2);

Exprs.eval("(a + b) * 2", context);

函数库调用演示

不支持自定义函数,但支持自定义类。以及可以使用整个 JDK 里的类。

CodeSpec exp5 = new CodeSpec("Math.min(1,2)").imports(Math.class);
System.out.println(Exprs.eval(exp5));

原文地址:https://blog.csdn.net/cwzb/article/details/142388918

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!