您现在的位置是:首页 > 文章详情

🔥 Liquor 表达式引擎基本使用(v1.2.7)

日期:2024-09-20点击:200

引入依赖

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

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

零依赖,包大小约为 36 KB。

实例化表达式引擎(全局可复用,线程安全)

 ExpressionEvaluator evaluator = new ExpressionEvaluator(); 

常量表达式计算演示

 // 数学运算 (Long) String exp1 = "1+2+3"; Integer result = (Integer) evaluator.eval(exp1); System.out.println(result); // 6 // 数学运算 (Double) String exp4 = "1.1+2.2+3.3"; Double result2 = (Double) evaluator.eval(exp4); System.out.println(result2); // 6.6 // 包含关系运算和逻辑运算 String exp2 = "(1>0||0<1)&&1!=0"; System.out.println(evaluator.eval(exp2)); // true // 三元运算 String exp3 = "4 > 3 ? \"4 > 3\" : 999"; System.out.println(evaluator.eval(exp3)); // 4 > 3 

变量表达式计算演示

 Map<String, Object> bindings = new HashMap<>(); bindings.put("a", 1); bindings.put("b", 2); evaluator.eval("(a + b) * 2", bindings); 

函数库调用演示

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

 CodeSpec exp5 = new CodeSpec("Math.min(1,2)").imports(Math.class); System.out.println(evaluator.eval(exp5));
原文链接:https://www.oschina.net/news/312775/liquor-1-2-7
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章